1

Properties.Resources.resx我在标准文件中有一堆可本地化的图像和图标;它们大多在编译时链接。我想把它们放在一些 WPF 控件上。

在 WinForms 中,

control.Image = Properties.Resources.ImageResourceName;

诀窍,可维护,可本地化,不易重构,并且只能使用 Windows 窗体设计器来完成,但我只是不知道如何在 WPF(xaml OR 代码)中实现类似的结果。

4

1 回答 1

2

存储在 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;
}
于 2012-10-03T10:08:01.520 回答