Properties.Resources.resx
我在标准文件中有一堆可本地化的图像和图标;它们大多在编译时链接。我想把它们放在一些 WPF 控件上。
在 WinForms 中,
control.Image = Properties.Resources.ImageResourceName;
诀窍,可维护,可本地化,不易重构,并且只能使用 Windows 窗体设计器来完成,但我只是不知道如何在 WPF(xaml OR 代码)中实现类似的结果。
Properties.Resources.resx
我在标准文件中有一堆可本地化的图像和图标;它们大多在编译时链接。我想把它们放在一些 WPF 控件上。
在 WinForms 中,
control.Image = Properties.Resources.ImageResourceName;
诀窍,可维护,可本地化,不易重构,并且只能使用 Windows 窗体设计器来完成,但我只是不知道如何在 WPF(xaml OR 代码)中实现类似的结果。
存储在 resx 文件中的是 Drawing.Bitmap。您可以使用下面的代码将其转换为 BitmapSource。例如,此代码可以放置在转换器中。个人而言,我定义了一个 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;
}