Вот имею вот такой converter в неймспейсе BrainTrain.
Вот файл ByteToImageConverter:
using System;
using System.Globalization;
using System.Windows.Data;
using System.Windows.Media.Imaging;
namespace BrainTrain
{
public class ByteToImageConverter : IValueConverter
{
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
using (var ms = new System.IO.MemoryStream(value as byte[]))
{
var image = new BitmapImage();
image.BeginInit();
image.CacheOption = BitmapCacheOption.OnLoad;
image.StreamSource = ms;
image.EndInit();
return image;
}
}
public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture)
{
throw new NotImplementedException();
}
}
}
А вот xaml окна:
<Window x:Class="BrainTrain.Windows.WorkWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:glob='clr-namespace:BrainTrain'
mc:Ignorable="d"
Title="WorkWindow"
Height="450"
Width="800">
<Window.Resources>
<glob:ByteToImageConverter x:Key='ByteToImageConverter' />
</Window.Resources>
</Window>
На строчке ошибка:
Имя "ByteToImageConverter" не существует в пространстве имен "clr-namespace:BrainTrain"
И не компилируется проект. Как действовать в такой ситуации и из-за чего она возникает
У вас висит ряд ошибок, которые мешают компилятору собрать грамотно проект.
Первая говорит об ошибке в файле App.xaml, заходим туда и видим строку:
xmlns:local="clr-namespace:BrainTrain.Converters"
У вас в проекте нету ни одного класса, который содержал бы такой namespace, значит строку нужно удалить.
Пробуем пересобрать проект и вуаля! Все успешно заработало и ByteToImageConverter успешно найдет.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости