WPF图像资源

我主要来自网络和一点Windows Forms背景。 对于一个新项目,咱们将使用WPF。 WPF应用程序将须要10-20个小图标和图像以用于说明目的。 我正在考虑将它们做为嵌入式资源存储在程序集中。 那是正确的路吗? 网络

如何在XAML中指定图像控件应从嵌入式资源加载图像? spa


#1楼

我发现使用图像,视频等的最佳作法是: 设计

  • 将文件“构建操做”更改成“内容” 。 确保选中“ 复制到构建目录”
    • 在“解决方案资源管理器”窗口的“右键单击”菜单上找到。
  • 图像源格式以下:
    • “ / «YourAssemblyName» ;组件/«YourPath»/«YourImage.png»

<Image Source="/WPFApplication;component/Images/Start.png" />

好处: code

  • 文件未嵌入到程序集中。
    • 资源管理器会在资源过多时(在构建时)引起一些内存溢出问题。
  • 能够在程序集之间调用。

#2楼

完整描述如何使用资源: WPF应用程序资源,内容和数据文件 component

以及如何引用它们,请阅读“在WPF中打包URI”。 orm

简而言之,甚至有从引用/引用程序集中引用资源的方法。 视频


#3楼

如下工做和要设置的图像是属性中的资源: 内存

var bitmapSource = Imaging.CreateBitmapSourceFromHBitmap(MyProject.Properties.Resources.myImage.GetHbitmap(),
                                      IntPtr.Zero,
                                      Int32Rect.Empty,
                                      BitmapSizeOptions.FromEmptyOptions());
    MyButton.Background = new ImageBrush(bitmapSource);
img_username.Source = bitmapSource;

#4楼

是的,这是正确的方法。 资源

您能够仅使用路径在资源文件中使用图像: get

<Image Source="..\Media\Image.png" />

您必须将图像文件的构建操做设置为“资源”。


#5楼

若是您正在使用Blend ,要使其变得更加容易而且在获取Source属性的正确路径时没有任何麻烦,只需将图像从“项目”面板拖放到设计器上便可。

相关文章
相关标签/搜索