2012-03-13 52 views
0

我有两个程序集,比如assembly1和assembly2。从XAML中的另一个程序集的resx文件加载图像

在assembly2中有一个XAML文件。在这个XAML文件中,我想创建一个图像。

我想要做的是将此图像的源设置为位于assembly1的resx文件中的位图。

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

如何在XAML中正确引用该位图文件?是否有简单的“仅限XAML”解决方案?

回答

0

好吧,我假设没有像“XAML专用”解决方案。

相反,我不喜欢这样的WPF控件的Loaded事件被调用后:

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; 
相关问题