Windows API代码包TaskDialog缺less图标

我的TaskDialog中的图标丢失:

并在任务栏中:

我的代码是这样的:

 using Microsoft.WindowsAPICodePack; using Microsoft.WindowsAPICodePack.Dialogs; ... TaskDialog taskDialog = new TaskDialog(); taskDialog.Caption = "Error"; taskDialog.InstructionText = "Test error message."; taskDialog.Text = "Icon seems to be missing."; taskDialog.DetailsExpandedText = "Test"; taskDialog.DetailsCollapsedLabel = "Expand"; taskDialog.StandardButtons = TaskDialogStandardButtons.Ok; taskDialog.Icon = TaskDialogStandardIcon.Error; taskDialog.Show(); 

我在这里使用1.1版本。 任何线索为什么他们失踪,以及如何启用它们? 依赖关系设置如下:

  <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="*" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> 

Solutions Collecting From Web of "Windows API代码包TaskDialog缺less图标"

我找到了一个解决方法。 显然这是一个在API本身的错误。

 taskDialog.Opened += new EventHandler(taskDialog_Opened); ... public void taskDialog_Opened(object sender, EventArgs e) { TaskDialog taskDialog = sender as TaskDialog; taskDialog.Icon = taskDialog.Icon; taskDialog.FooterIcon = taskDialog.FooterIcon; taskDialog.InstructionText = taskDialog.InstructionText; } 

我会添加这个作为评论,但我没有足够的代表。 一旦我删除了这行代码,标记的答案对我有用:

  taskDialog.FooterIcon = taskDialog.FooterIcon; 

这导致了一个未处理的异常。