在WPF应用程序中嵌入图标

时间:2009-06-12 04:31:53

标签: c# xaml wpf-controls icons notifyicon

我在两种情况下在我的应用程序中使用了一个图标。

  1. 在XAML中使用DynamicResource作为Button的图像。
  2. 在C#中作为NotifyIcon

    this.notifyIcon.Icon = new SystemDrawing.Icon(“..//..// Shutdown.ico”);

  3. 我的问题是如果删除应用程序无效的图像。如何将图像与exe文件绑定,以便应用程序只能使用exe文件运行?

2 个答案:

答案 0 :(得分:2)

将图标作为资源添加到项目中(不是嵌入式资源,存在差异),然后使用

访问它
using(Stream stream = Application.GetResourceStream(new Uri("/Shutdown.ico")).Stream)
{
    this.notifyIcon.Icon = new SystemDrawing.Icon(stream);
}

你也应该能够在你的XAML中使用它,我只是记不清楚。

有关详细信息,请参阅此处:http://msdn.microsoft.com/en-us/library/aa970494.aspx

注意:我没有在此处包含任何错误检查。在使用它之前,您应该确保检查流以查看它是否为空。

答案 1 :(得分:0)

上次我需要这样做时,图像非常简单,最简单的方法就是在XAML中创建一个线条图(类似于SVG),而不是使用文件。我试图构建一个简单的Vista风格的向导,而不重用任何其他人的代码(看看我是否可以),我想要一个命令按钮的箭头,可以在MSDN上的UX guidelines中看到。