wpf图像资源和visual studio 2010资源编辑器

Ber*_*ryl 4 wpf xaml image visual-studio resource-editor

我对这个问题的动机实际上只是通过ImageSource的依赖属性指定要在用户控件中使用的图像.我正在遇到一些涉及管理,访问和单元测试的痛点.

  • 资源编辑器是否是用于维护应用程序映像的好工具?
  • 将Bitmap从编辑器转换为ImageSource的最佳方法是什么?
  • 如何从编辑器中获取资源Filename?

Ray*_*rns 10

不,资源编辑器不是一个好的工具.

在WPF应用程序中,最好的方法是将所有图像放在"图像"目录中,并将每个图像标记为"资源".然后,您可以直接在图像控件和其他地方引用它们.

以下是精确的步骤:

  • 使用您喜欢的位图编辑程序(Paint.NET,Photoshop等)裁剪和调整图像
  • 将它们保存为.png文件(如果您愿意,可以将.jpg或.gif文件保存)
  • 在Visual Studio解决方案中创建"Images"文件夹(或多个文件夹,但是要组织它)
  • 将图像从硬盘拖到"Images"文件夹中(或右键单击项目,选择New - > Existing Item并选择图像)

现在,您可以在XAML中轻松引用图像:

<Image Source="Images/MyImage.png" />
Run Code Online (Sandbox Code Playgroud)

或者在代码中:

var source = (BitmapSource)Application.LoadComponent(
               new Uri("Images/MyImage.png", UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)

您还可以在外部装配中引用图像:

<Image Source="ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png" />
Run Code Online (Sandbox Code Playgroud)

在代码中将是:

var source = (BitmapSource)Application.LoadComponent(
               new Uri("ReferencedAssembly;v1.0.0.1;component/Images/MyImage.png",
                 UriKind.Relative));
Run Code Online (Sandbox Code Playgroud)