У моего приложения есть значок на панели задач, который при двойном щелчке скрывает или показывает окно приложения. Моя проблема в том, что я не могу вывести окно на передний план, если оно было в свернутом состоянии, когда было скрыто.
Например, предположим, что пользователь минимизирует приложение, а затем дважды щелкает значок в области уведомлений. Окно приложения затем скрывается и исчезает с панели задач. Когда пользователь снова дважды щелкает значок в трее, должно появиться окно приложения, то есть его нужно восстановить из свернутого состояния и вывести на передний план.
Код ниже должен делать именно это, но по какой-то причине этого не происходит:
private void TrayIcon_DoubleClick(object sender, EventArgs e)
{
if (this.Visibility == Visibility.Hidden)
{
this.Visibility = Visibility.Visible;
this.WindowState = WindowState.Normal;
this.Activate();
}
...
}
Приложение остается свернутым и не выводится на передний план. Activate () возвращает истину, а последующие вызовы TrayIcon_DoubleClick () указывают на то, что состояние действительно установлено на Нормальное.