Mi aplicación tiene un icono de bandeja que, cuando se hace doble clic, oculta o muestra la ventana de la aplicación. Mi problema es que parece que no puedo poner la ventana en primer plano si estaba en un estado minimizado cuando estaba oculta.WPF: la ventana se mantiene minimizada incluso cuando se establece WindowState explícitamente
Por ejemplo, supongamos que el usuario minimiza la aplicación y luego hace doble clic en el icono de la bandeja. La ventana de la aplicación se oculta y desaparece de la barra de tareas. Cuando el usuario vuelve a hacer doble clic en el icono de la bandeja, debe aparecer la ventana de la aplicación, es decir, debe restaurarse desde el estado minimizado y ponerse en primer plano.
El siguiente código debe de hacer eso, pero por alguna razón no lo hace:
private void TrayIcon_DoubleClick(object sender, EventArgs e)
{
if (this.Visibility == Visibility.Hidden)
{
this.Visibility = Visibility.Visible;
this.WindowState = WindowState.Normal;
this.Activate();
}
...
}
La aplicación permanece minimizado y que no se ponga el primer plano. activar() devuelve true y las posteriores llamadas a TrayIcon_DoubleClick() indican que el estado es, en efecto establece en normal.
Ok, eso soluciona el problema pero eso apesta ¿no crees? Quiero decir, ¿cómo se supone que debes saber cuándo puedes usar una propiedad o no? Encuentro esto muy extraño ... –