Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用C更改WPF中的背景图像#_C#_Wpf_Image_Background_Resources - Fatal编程技术网

C# 使用C更改WPF中的背景图像#

C# 使用C更改WPF中的背景图像#,c#,wpf,image,background,resources,C#,Wpf,Image,Background,Resources,我想通过一个按钮更改WPF应用程序的背景图像。我知道如何使用WindowsForms,但在WPF中我失败了。 我已经找到了解决方案,但该解决方案会将我的背景图像复制到Application.exe旁边的输出文件夹中 这并不是我真正想要的解决方案。我希望将图像存储在我的应用程序中 有人能详细解释一下我需要做什么[如何将图像添加到程序中,特别是资源属性,如何在C#中访问它们]。看来我太蠢了,无法正确设置:P 提前感谢试试这个: this.Background = new ImageBrush(new

我想通过一个按钮更改WPF应用程序的背景图像。我知道如何使用WindowsForms,但在WPF中我失败了。 我已经找到了解决方案,但该解决方案会将我的背景图像复制到Application.exe旁边的输出文件夹中 这并不是我真正想要的解决方案。我希望将图像存储在我的应用程序中

有人能详细解释一下我需要做什么[如何将图像添加到程序中,特别是资源属性,如何在C#中访问它们]。看来我太蠢了,无法正确设置:P

提前感谢

试试这个:

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

首先,将一个文件夹添加到您的解决方案中(右键单击->添加->文件夹),将其命名为“资源”或其他有用的名称

然后,只需将所需图像添加到文件夹(右键单击文件夹->添加->现有项目)

添加后,如果单击图像并打开属性窗口(Alt+Enter),您将看到构建操作设置为资源复制到输出目录设置为不复制

您可以使用以下代码在C#中引用图像:

this.Background = new BitmapImage(new Uri(@"pack://application:,,,/YourApp;component/YourFolder/YourImage.png"));
或在XAML中

<Image Source="pack://application:,,,/YourApp;component/YourFolder/YourImage.png" ... />

或:



非常感谢,您的解决方案非常有效。我只需将新的BitmapImage放在新的图像中即可。谢谢。您的回答引导我找到了解决方案:)
<Image Source="/YourApp;component/YourFolder/YourImage.png" ... />