0

我有许多我想在 Winforms 项目和 WPF 项目中使用的 png、位图和图标。

我对在 winforms 中使用资源感到满意,并对 WPF 中的资源感到满意。

人们在他们拥有共同资源的情况下都在做什么?我目前的感觉是拥有一个 WPF 资源程序集和一个 Winforms 资源程序集,但我所看到的方法似乎都不流畅。

谢谢

4

2 回答 2

2

我有一个同时包含 WPF 和 Winforms 控件的项目。该项目有资源文件夹,其中包含所有图像。比我简单地使用相对路径从磁盘加载它们。
假设您的项目名称是“MyProject”,并且图像路径是项目文件夹内名为“MyImages”的文件夹,并且您的图像名称是“MyImage.bmp”,您可以按如下方式加载它们:

在 Winforms 中:

new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("MyProject.MyImages.MyImage.bmp")

在 WPF 中

 <Image Source="pack://application:,,,/MyProject;Component/MyImages/MyImage.bmp">

希望能帮助到你...

于 2012-04-10T13:27:29.497 回答
1

如果构建操作设置为“嵌入式资源”,则 Amittai Shapira 的回答有效。如果您将构建操作设置为“资源”,那么您可以使用:

赢表格:

Bitmap photo;
var picUri = new Uri(@"pack://application:,,,/MyProject;component/MyImages/MyImage.bmp", UriKind.Absolute);
var resourceInfo = Application.GetResourceStream(picUri);

if (resourceInfo != null)
{
   photo = new Bitmap(resourceInfo.Stream);
}

WPF:

<Image Source="MyImages/MyImage.bmp"/>
于 2013-10-31T15:13:52.457 回答