У меня была такая же проблема с программой, написанной на другом языке (PowerBuilder, а не на базе .Net), которая ведет себя точно так же. Должна быть проблема с Windows, если она влияет не только на WPF. Так что должен быть способ обойти это.
Возможно, фреймворк неправильно запрашивает «мой» элемент панели задач, если он не активен.
Значок на панели задач снова появляется при установке фокуса обратно на приложение.
Грубое решение состоит в том, чтобы сделать это (псевдокод):
application.Hide();
application.Show()
Другое решение (псевдокод):
application.SetRedraw(False);
application.Show();
application.SetRedraw(True);
Но это создает неприятное мерцание. Решение, которое просто «повторно активирует» или «перерисовывает» панель инструментов, было бы лучше!
Причина проблемы (в моем случае, отличном от WPF) заключается в том, что программа показывает пользовательский интерфейс до завершения конструктора главного окна. т.е. принудительное перерисовывание/отображение окна перед выполнением всего кода инициализации. Это, вероятно, заставляет Windows думать, что окно не является приложением, а скорее «диалоговым окном» экрана-заставки, а не назначением элемента панели задач. Когда мне удалось удалить код, который преждевременно показывал основной графический интерфейс, проблема исчезла.
person
Aldus-Monitor
schedule
15.05.2014