Загрузить изображение из файла resx другой сборки в XAML - PullRequest
0 голосов
/ 13 марта 2012

У меня есть две сборки, скажем, Assembly1 и Assembly2.

В сборке2 есть XAML-файл. В этом файле XAML я хочу создать изображение.

То, что я хочу сделать, это установить источник этого изображения в растровое изображение, которое находится в файле resx из Assembly1.

<Image Name="image1" Stretch="Fill" Source="???" />

Как правильно ссылаться на этот растровый файл в XAML? Есть ли простое решение только для XAML?

1 Ответ

0 голосов
/ 13 марта 2012

Хорошо, поэтому я предполагаю, что не существует такого решения, как "XAML-only".

Вместо этого я делаю это так после вызова события Loaded элемента управления WPF:

Assembly coreAssembly = Assembly.GetAssembly(typeof (otherAssembly.Resources));
var resourceManager = new ResourceManager("otherAssembly.Resources", coreAssembly);

// get image from core resources
Bitmap completeImage = (Bitmap) resourceManager.GetObject("Complete");

// apply image to WPF image
var memoryStream = new MemoryStream();
completeImage.Save(memoryStream, System.Drawing.Imaging.ImageFormat.Png);
BitmapImage bitmapImage = new BitmapImage();
bitmapImage.BeginInit();
bitmapImage.StreamSource = new MemoryStream(memoryStream.ToArray());
bitmapImage.EndInit();

this.myWpfImage.Source = bitmapImage;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...