处理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),但我不知道如何涉及到足够灵活的根文件夹。这就引出了我的问题:

  1. 如何引用项目的路径?在xaml和c#
  2. 这是一个正确的方式来处理这个问题,还是我走了线?

我想我已经附上了所有必要的信息,如果我没有,我很抱歉。我是WPF的新手,但我正在努力学习。如果你打算降级这个问题,请留言说明原因。

提前感谢,戴夫

处理WPF项目中的图片

将图像添加到文件夹中更为常见,例如在项目的根文件夹中命名为Images。你应该使用Visual Studio的Add Existing Item命令,因为它会为你正确设置Build ActionCopy to Output Directory属性。一旦您添加了映像文件,您就可以简单地使用string文件路径引用它们,如下所示:

<Image Source="pack://application:,,,/AppName;component/Images/ImageName.png" />

您可以从MSDN上的WPF中的打包uri页面中找到有关要使用的文件路径语法的更多信息。