处理WPF项目中的图片
本文关键字:WPF 项目 处理 | 更新日期: 2023-09-27 18:14:47
我是WPF的新手,正在尝试尽可能多地了解它。在我使用winforms之前,我通过使用资源系统将图片添加到项目中。为了调用图片,我使用:
Properties.Resouces.<Name of resource>
现在,在WPF中,我想我会使用类似的东西并将图片添加到项目资源中(只是为了确保它们与应用程序一起分发),但我有点不确定如何调用它们。例如,我试图通过以下XAML更改表单的背景:
<Window.Background>
<ImageBrush>
<ImageBrush.ImageSource>
<BitmapImage UriSource="Resources'background.png"/>
</ImageBrush.ImageSource>
</ImageBrush>
</Window.Background>
这显然不起作用。如果我在URIsource中有文件的完整路径,它可以工作,但我不想强迫最终用户使用特定的文件夹。
在这种情况下,background.png作为资源添加到项目中,并将"Copy to output directory"设置为"Copy if newer"。因此,我知道,图片将在项目的根(下资源文件夹ofc),但我不知道如何涉及到足够灵活的根文件夹。这就引出了我的问题:
- 如何引用项目的路径?在xaml和c#
- 这是一个正确的方式来处理这个问题,还是我走了线?
我想我已经附上了所有必要的信息,如果我没有,我很抱歉。我是WPF的新手,但我正在努力学习。如果你打算降级这个问题,请留言说明原因。
提前感谢,戴夫
将图像添加到文件夹中更为常见,例如在项目的根文件夹中命名为Images
。你应该使用Visual Studio的Add Existing Item命令,因为它会为你正确设置Build Action和Copy to Output Directory属性。一旦您添加了映像文件,您就可以简单地使用string
文件路径引用它们,如下所示:
<Image Source="pack://application:,,,/AppName;component/Images/ImageName.png" />
您可以从MSDN上的WPF中的打包uri页面中找到有关要使用的文件路径语法的更多信息。