使用 C# 在 WPF 中更改背景图像
Change Background image in WPF using C#
我想通过一个按钮更改我的 WPF 应用程序的背景图像。我知道如何使用 WindowsForms 做到这一点,但在 WPF 中我失败了。
我已经找到了解决方案,但该解决方案会将我的背景图像复制到 Application.exe 旁边的输出文件夹
这不是我真正想要的解决方案。我想将图像存储在我的应用程序中。
谁能详细解释一下我需要做什么[如何将图像添加到程序中,尤其是资源属性,如何在 C# 中访问它们....]。看来我太笨了,无法正确设置它:P
提前致谢
试试这个:
this.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/Yourapp;component/yourimage.png")));
首先,将 文件夹 添加到您的解决方案中(右键单击 -> 添加 -> 文件夹),将其命名为 "Resources" 或一些有用的东西。
然后,只需将您想要的图像添加到文件夹中(右键单击文件夹 -> 添加 -> 现有项目)。
添加后,如果您单击图像并打开 属性 window (Alt+Enter),您将看到 Build Action 设置为 Resource 并且 Copy to Output Directory 设置为 Do not copy.
您可以使用以下代码在 C# 中引用图像:
this.Background = new BitmapImage(new Uri(@"pack://application:,,,/YourApp;component/YourFolder/YourImage.png"));
或在XAML中:
<Image Source="pack://application:,,,/YourApp;component/YourFolder/YourImage.png" ... />
或者:
<Image Source="/YourApp;component/YourFolder/YourImage.png" ... />
我想通过一个按钮更改我的 WPF 应用程序的背景图像。我知道如何使用 WindowsForms 做到这一点,但在 WPF 中我失败了。 我已经找到了解决方案,但该解决方案会将我的背景图像复制到 Application.exe 旁边的输出文件夹 这不是我真正想要的解决方案。我想将图像存储在我的应用程序中。
谁能详细解释一下我需要做什么[如何将图像添加到程序中,尤其是资源属性,如何在 C# 中访问它们....]。看来我太笨了,无法正确设置它:P
提前致谢
试试这个:
this.Background = new ImageBrush(new BitmapImage(new Uri(@"pack://application:,,,/Yourapp;component/yourimage.png")));
首先,将 文件夹 添加到您的解决方案中(右键单击 -> 添加 -> 文件夹),将其命名为 "Resources" 或一些有用的东西。
然后,只需将您想要的图像添加到文件夹中(右键单击文件夹 -> 添加 -> 现有项目)。
添加后,如果您单击图像并打开 属性 window (Alt+Enter),您将看到 Build Action 设置为 Resource 并且 Copy to Output Directory 设置为 Do not copy.
您可以使用以下代码在 C# 中引用图像:
this.Background = new BitmapImage(new Uri(@"pack://application:,,,/YourApp;component/YourFolder/YourImage.png"));
或在XAML中:
<Image Source="pack://application:,,,/YourApp;component/YourFolder/YourImage.png" ... />
或者:
<Image Source="/YourApp;component/YourFolder/YourImage.png" ... />