Я пытаюсь показать свое векторное изображение в Image.Source с XamlReader
. У меня есть такой ресурс XAML.WPF Использование источника изображения XAML
<Canvas Width="76" Height="76" ClipToBounds="True" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
<Path Fill="#FF000000" Height="76" Stretch="Fill" Width="76">
<Path.Data>
<PathGeometry FillRule="Nonzero" Figures="M21,30.0001L55.9999,30.0001 55.9999,50 21,50 21,30.0001z M52,28L37,28C38,25,39.4999,24.0001,39.4999,24.0001L50.75,24C51.3023,24,52,24.6977,52,25.25L52,28z" />
</Path.Data>
</Path>
Создано связывание с here. Но это не работает, когда я пытаюсь использовать его: собственность
<Image Stretch="Fill" Source="{Binding Converter={StaticResource uriToUIElementConverter},ConverterParameter=images/Folder.xaml}"/>
самого файла Build Action=Resource
. Преобразователь uriTOUIElementConverter
является то, что:
public class FileToUIElementConverter :IValueConverter
{
public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
FileStream fileStream = new FileStream((string)parameter, FileMode.Open);
return XamlReader.Load(fileStream) as DrawingImage;
}
public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
{
throw new NotImplementedException();
}
}
Когда я пытаюсь построить проект дает мне эти ошибки:
System.IO.FileNotFoundException
Я редактировал конвертер вроде этого:
Stream fileStream = Application.GetResourceStream(new Uri("pack://application:,,,/ASSEMBLYNAME;component/"+(string) parameter)).Stream;
Но это не работает еще раз. Что я должен сделать, чтобы это сработало?