我在两种情况下在我的应用程序中使用图标。
- 在 XAML 中作为使用 DynamicResource 的按钮的图像。
在 C# 中作为 NotifyIcon
this.notifyIcon.Icon = new SystemDrawing.Icon("..//..//Shutdown.ico" );
我的问题是如果我删除应用程序无法正常工作的图像。如何将图像与 exe 文件绑定,以便应用程序只能与 exe 文件一起运行?
我在两种情况下在我的应用程序中使用图标。
在 C# 中作为 NotifyIcon
this.notifyIcon.Icon = new SystemDrawing.Icon("..//..//Shutdown.ico" );
我的问题是如果我删除应用程序无法正常工作的图像。如何将图像与 exe 文件绑定,以便应用程序只能与 exe 文件一起运行?
将图标作为资源添加到项目中(不是嵌入式资源,有区别),然后使用
using (var stream = Application.GetResourceStream(new Uri("pack://application:,,,/Shutdown.ico")).Stream)
{
this.notifyIcon.Icon = new System.Drawing.Icon(stream);
}
然后你也应该能够在你的 XAML 中使用它,我只是不记得如何了。
有关更多信息,请参见此处:https ://docs.microsoft.com/en-us/dotnet/desktop/wpf/app-development/wpf-application-resource-content-and-data-files
注意:我在这里没有包含任何错误检查。您可能应该确保在使用流之前检查它是否为空。
上次我需要这样做时,图像非常简单,因此最简单的方法是在 XAML(类似于 SVG)中创建线条图,而不是使用文件。我试图构建一个简单的 Vista 风格的向导而不重用任何其他人的代码(看看我是否可以),我想要一个命令按钮的箭头,如MSDN 上的UX 指南中所示。