如何设置WPF窗口的背景?

33

我有一个简单的WPF窗口。我打算将它的背景设置为我作为嵌入式资源添加到项目中的图像之一。这是我尝试过的:

<Window x:Class="A_Boggle.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="A-Boggle" Height="300" Width="625" ResizeMode="NoResize" WindowStartupLocation="CenterScreen" Name="Game">
<Window.Background>
    <ImageBrush ImageSource="background.jpg"></ImageBrush>
</Window.Background>
<Grid>
</Grid>

但是,我总是得到这个错误提示:"错误1:文件splash.jpg不是项目的一部分,或者其'Build Action'属性未设置为'Resource'。"

有什么想法吗?

3个回答

21

在VS中进入图像,将其设置为资源。右键单击->属性->构建操作->资源

更新:

如果图像在文件夹中,则需要更改路径。例如... Resources / background.jpg


正确。请注意,“资源”与“嵌入式资源”是不同的。 - codekaizen
仍然无法工作,出现相同的错误。图片是否在资源文件夹中有关系吗? - sokolovic
尝试过这个,但是我收到了错误信息:“无法找到路径'C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ Images \ marmor_hintergrund_weiss.png'”。有什么办法可以让我的XAML查找项目文件夹而不是IDE文件夹吗? - Squirrelkiller
位于“程序文件”中的某些内容可能会遇到权限或访问问题。 - Рахул Маквана

4
您可以在 main.xaml.cs 中使用此代码。
  InitializeComponent();
        ImageBrush myBrush = new ImageBrush();
        myBrush.ImageSource =
            new BitmapImage(new Uri("F://13.png", UriKind.Absolute));
        this.Background = myBrush;

1
在我的情况下,问题是因为我设置了窗口的高度和宽度属性,并使用最大化窗口状态,当我删除宽度和高度属性时,错误消失了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接