La mia applicazione ha un'icona nella barra delle applicazioni che, quando fa doppio clic, nasconde o mostra la finestra dell'applicazione. Il mio problema è che non riesco a portare la finestra in primo piano se si trovava in uno stato ridotto a icona quando era nascosta.WPF: finestra minimizzata anche quando si imposta WindowState in modo esplicito
Ad esempio, supponiamo che l'utente riduca a icona l'applicazione e quindi fa doppio clic sull'icona del vassoio. La finestra dell'applicazione viene quindi nascosta e scompare dalla barra delle applicazioni. Quando l'utente fa nuovamente doppio clic sull'icona della barra delle applicazioni, dovrebbe apparire la finestra dell'applicazione, ovvero dovrebbe essere ripristinata dallo stato ridotto a icona e portata in primo piano.
Il codice qui sotto dovrebbe fare proprio questo, ma per qualche motivo non è così:
private void TrayIcon_DoubleClick(object sender, EventArgs e)
{
if (this.Visibility == Visibility.Hidden)
{
this.Visibility = Visibility.Visible;
this.WindowState = WindowState.Normal;
this.Activate();
}
...
}
L'applicazione rimane ridotto al minimo e non viene portata in primo piano. Activate() restituisce true e le chiamate successive a TrayIcon_DoubleClick() indicano che lo stato è effettivamente impostato su Normale.
Ok, questo risolve il problema ma che schifo non credi? Voglio dire, come dovresti sapere quando puoi usare una proprietà o no? Trovo questo molto strano ... –