C#WPF窗口背景

时间:2016-12-08 23:30:41

标签: c# wpf

我使用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")));

但老实说,我无法弄清楚如何使用@"包...等等#34;我尝试过这样的事情

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

但我再也找不到任何解释这条线的好资源。

先谢谢你。

1 个答案:

答案 0 :(得分:1)

包URL可以将您带到位于执行应用域内的文件。你总是单独留下第一部分:

pack://application:,,,/

之后,您将组件的名称后跟分号。如果资源在使用程序集中,则可以只使用分号。然后你把:

component/

后跟资源的“文件夹路径”。把它们放在一起就可以得到类似的东西:

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

请注意,您的文件需要以这种方式找到“资源”的构建操作。可以在MSDN

上找到有关包URI的更完整说明