Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/257.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_Application Icon - Fatal编程技术网

C# 如何分配将显示在任务栏中的应用程序图标?

C# 如何分配将显示在任务栏中的应用程序图标?,c#,wpf,application-icon,C#,Wpf,Application Icon,我正在使用Wpf桌面应用程序,每当我运行我的应用程序时,它都会在任务栏中显示一个窗口和相关选项卡(普通windows功能)。我的问题是,该选项卡将窗口图标用于未知的文件类型,我尝试使用窗口的图标属性,图标被分配,但问题仍然是,当我运行应用程序时,任务栏选项卡最初显示未知文件类型的窗口图标,当窗口加载完成时,它将更改为分配的图标。我想从一开始就在那里。有什么帮助吗 编辑: 我尝试使用.csproj-->属性-->应用程序选项卡-->图标 并将其设置为.ico文件。它可以工作,但我需要通过.exe文

我正在使用Wpf桌面应用程序,每当我运行我的应用程序时,它都会在任务栏中显示一个窗口和相关选项卡(普通windows功能)。我的问题是,该选项卡将窗口图标用于未知的文件类型,我尝试使用窗口的图标属性,图标被分配,但问题仍然是,当我运行应用程序时,任务栏选项卡最初显示未知文件类型的窗口图标,当窗口加载完成时,它将更改为分配的图标。我想从一开始就在那里。有什么帮助吗

编辑: 我尝试使用.csproj-->属性-->应用程序选项卡-->图标
并将其设置为.ico文件。它可以工作,但我需要通过.exe文件运行我的应用程序。它在开发环境中不工作(在VisualStudio中运行时)。我需要设置启动项目选项然后。是否有其他方法解决此问题?

检查主窗口项目的属性。。你应该可以在那里设置一个图标

更新: 您的图标在调试模式下不显示,这是一个问题吗?只要它在您向客户交付程序时起作用,一切正常,不是吗

另一方面:你可以检查一些东西。可能您的图标未包含在项目中,或者在生成到调试文件夹时未将其复制

更新2:
您还需要设置主窗体的图标,以便它在调试中显示。如果您还为主窗体设置了图标,它将在调试/运行时显示在任务栏中。

我也遇到了类似的问题,google引导我阅读了本文。我忘了一件简单的事,那就是我的主窗体图标。如果还为主窗体设置了图标,它将在调试/运行时显示在任务栏中。

我知道这是旧的,但我发现如果我转到项目的属性并选中“调试”页面上对我有效的“启用本机代码调试”框,我可以在调试模式下让图标显示在任务栏中。在VB应用程序中,转到(UI项目的)项目选项的调试屏幕,然后选择启用非托管代码调试。不确定是否有任何负面影响,但它确实在调试期间显示了图标。谢谢。

对于WPF应用程序,请使用该属性

Icon="Images\Logo.ico"

对于XAML中的窗口元素,窗口将显示图标。

这是旧的,但您也可以在setup projet中更改快捷方式图标,这对我来说很有效(通过右键单击安装项目查看文件系统)。

感谢您的响应,但它仅在我通过.exe文件运行应用程序时有效。但是,当我在VisualStudio中运行它时,它不起作用。我已经更新了我的问题。如果确实有问题,请转到“项目设置”中的“调试”选项卡,取消选中“启用Visual Studio宿主进程”。这将直接针对应用程序进行调试,而不是使用中间的vshost.exe文件。这在VS 2012+中是否已修复?我花了更多的时间尝试诊断我的应用程序的任务栏图标。请更新您的答案,以便在主窗体上添加有关设置图标的说明。这也是我在RooiWillie(下面)中错过的…所以WPF应用程序的“主要形式”是什么?看起来有一个不可接受的副作用:你不能在调试模式下编辑代码。我猜每个人都知道,除了我。现在我知道了,太棒了。这就是简单、正确和准确的答案!谢谢我在这个问题上绕了一圈,遇到了类似的问题。在WIndows 7 32位上运行我的调试版本时,应用程序图标未显示在任务栏中(使用了默认图标)。这在64位Windows 7上或在32位或64位Windows 7上发布的版本中都不是问题。这是在.NET 4.5和VS2013.quick和clean中实现的。这应该是最好的答案。@Doc您可以在多个点上为不同的目的定义图标。。。窗口图标(如任务栏中所示的主窗口=>上面的icon=“Images\Logo.ico”解决方案)不设置已编译可执行文件的图标(与Arcturus的公认解决方案一样)。两者都是针对不同事物的解决方案,但没有一个能够取代另一个。因此,如果他们有不同的行为,就没有“最佳”了。工作正常,我没有注意到它以前在我的xaml中设置过,所以当我在项目中设置图标时,它不会显示,因为它被这一行覆盖