所有应用程序窗口的WPF图标

可以设置一个图标,以便在当前应用程序的每个窗口上使用。 所以,我设置了一次(不是在每个窗口手)..?

关于这个问题的一个很好的参考是在这里MSDN 。 状态,你有一个应用程序的图标(桌面图标),每个窗口一个。

WPF窗口总是显示一个图标。 当没有通过设置图标提供,WPFselect一个图标来显示基于以下规则:

  1. 如果指定,请使用程序集图标。

  2. 如果未指定程序集图标,请使用默认的Microsoft Windows图标。

社区内容参考:

“一个小技巧:如果你设置了应用程序图标,并希望在窗口中看到它 – 它不会显示,如果从VSdebugging运行。外部运行或不附加(Ctrl + F5)图标显示按预期。

在“资源”部分的“应用程序”选项卡上的项目属性中设置图标。 该图标将成为应用程序中所有窗口的默认图标。

在VS2010下打开主应用程序可执行文件的属性并打开应用程序选项卡。 在“资源”部分的“图标和清单”下设置图标。

要在VS2010下进行debugging时看到图标,您需要打开“debugging”选项卡,并取消选中“启用Visual Studio托pipe过程”选项,否则只能在大多数窗口中看到默认图标。

我假设图标加载代码被主机进程搞糊涂了,正在查看“someapplication.vshost.exe”而不是“someapplication.exe”图标。

这看起来像是在VS2013中修复的。

你也可以尝试这个来设置你自己的图标:

 private void Page_Loaded_1(object sender, RoutedEventArgs e) { Uri iconUri = new Uri(@"C:\Apps\R&D\WPFNavigation\WPFNavigation\Images\airport.ico", UriKind.RelativeOrAbsolute); (this.Parent as Window).Icon = BitmapFrame.Create(iconUri); } 

“启用Visual Studio宿主进程”使图标不起作用的原因是它是使用vshost.exe启动的,因此清单不能正确读取。 如果你在清单中有其他东西,如regfree ocx控件等,需要载入清单,也是一样。