У меня есть это приложение, которое должно обновлять свой значок на панели задач во время выполнения.Я пытаюсь сделать это, изменив значок главного окна приложения, например:
var image = new WebClient().DownloadData("url_of_an_ico.ico");
this.Icon = App.Current.MainWindow.Icon = (BitmapSource)new ImageSourceConverter().ConvertFrom(image);
Где this
- это MainWindow
.Код выше выполняется по нажатию кнопки.Он обновляет значок окна (в левом верхнем углу), но не обновляет значок панели задач.
Странно то, что я попробовал точно такой же код в другом тестовом приложении, и этоработал нормально.
Единственное различие, которое я вижу между тестовым приложением и моим приложением, состоит в том, что я вручную определил свой метод Main
, в котором я создаю экземпляр приложения.
[System.STAThreadAttribute()]
[System.Diagnostics.DebuggerNonUserCodeAttribute()]
[System.CodeDom.Compiler.GeneratedCodeAttribute("PresentationBuildTasks", "4.0.0.0")]
public static void Main(string[] args)
{
var a = new App();
a.InitializeComponent();
a.Run();
}
Iвидел предложения по перезапуску explorer.exe
и удалению кэша значков Windows.Похоже, что ни одна из них не помогает.
Любая помощь будет высоко оценена.
ОБНОВЛЕНИЕ: Значок панели задач обновляется, как и ожидалось, при сборке с конфигурацией Release
... что смущает меня еще больше.