我提出这个问题的动机只是想通过ImageSource的依赖属性来指定一个用户控件中要使用的图像。我在管理、访问和单元测试方面遇到了一些困难。
- 资源编辑器是维护应用程序图像的好工具吗?
- 将编辑器中的Bitmap翻译成ImageSource的最佳方法是什么?
- 如何从编辑器中获取资源文件名?
我提出这个问题的动机只是想通过ImageSource的依赖属性来指定一个用户控件中要使用的图像。我在管理、访问和单元测试方面遇到了一些困难。
不,资源编辑器不是处理这个问题的好工具。
在WPF应用程序中,最好的方法是将所有图片放置在一个名为“Images”的目录下,并将每个图像标记为“Resource”。然后你可以直接在Image控件和其他地方引用它们。
以下是具体步骤:
现在你可以在XAML中轻松地引用你的图像:
<Image Source="Images/MyImage.png" />
或者在代码中:
var source = (BitmapSource)Application.LoadComponent(
new Uri("Images/MyImage.png", UriKind.Relative));
你还可以引用外部程序集中的图像:
<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />
在代码中可以表示为:
var source = (BitmapSource)Application.LoadComponent(
new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
UriKind.Relative));