我对此问题的动机实际上只是通过ImageSource的依赖属性指定要在用户控件中使用的图像。我正在为此进行一些涉及管理,访问和单元测试的痛点。
答案 0 :(得分:10)
不,资源编辑器不是一个好的工具。
在WPF应用程序中,最好的方法是将所有图像放在“图像”目录中,并将每个图像标记为“资源”。然后,您可以直接在图像控件和其他地方引用它们。
以下是精确的步骤:
现在,您可以在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));