C# WPF 窗口背景

4

我使用 Resources.resx 添加了一个png文件,它在名为 "resources" 的文件夹中。 我正在尝试将我的主窗口背景更改为这个图像。

 this.Background = Properties.Resources.backGround;

给出了“无法隐式转换类型System.Drawing.Bitmap到System.Windows.Media.Brush”的错误。

我尝试按照其他答案的方法进行操作,例如:

this.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/myapp;component/Images/icon.png")));

但是我实在想不出如何使用 "@pack...等" ,我尝试过类似这样的:

@"pack://Info Collector:,,,/myapp;component/resources/backGround.png")));

但是我仍然找不到任何良好的资源来解释这行代码。

提前感谢您的帮助。

1个回答

1

一个包URL是指可以访问执行应用程序域内部文件的URL。您始终不需要改变第一部分:

pack://application:,,,/

在此之后,您需要输入程序集的名称,后跟一个分号。如果资源在使用的程序集中,则只需输入分号。然后,您需要输入:
component/

紧随资源的“文件夹路径”。将它们组合起来,你会得到类似这样的东西:

pack://application:,,,/<assemblyName>;component/<pathToResource>

请注意,您的文件需要具有“资源”构建操作才能以这种方式找到。有关打包URI的更完整说明,请参见MSDN

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