我在标准Properties.Resources.resx
文件中有一堆可本地化的图像和图标;它们大多在编译时链接。我想把它们放在一些WPF控件上。
在WinForms中,
control.Image = Properties.Resources.ImageResourceName;
诀窍,可维护,可本地化,不易受重构,并且只能使用Windows窗体设计器完成,但我无法弄清楚如何在WPF中实现类似的结果(xaml OR代码)。
答案 0 :(得分:2)
resx文件中存储的是Drawing.Bitmap。 您可以使用下面的代码将其转换为BitmapSource。 例如,该代码可以放在转换器中。 Personnaly,我已经定义了一个MarkupExtension,它使用resx的名称和ressource的名称并调用此代码。
private BitmapSource bitmapToSource(System.Drawing.Bitmap bitmap)
{
BitmapSource destination;
IntPtr hBitmap = bitmap.GetHbitmap();
BitmapSizeOptions sizeOptions = BitmapSizeOptions.FromEmptyOptions();
destination = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(hBitmap, IntPtr.Zero, Int32Rect.Empty, sizeOptions);
destination.Freeze();
return destination;
}