Desidero ottenere lo stesso effetto di Windows Media Player o dei lettori Flash basati su browser che occupano l'INTERO (anche se la barra delle applicazioni è visibile) quando ottimizzato.Finestra WPF con stile = Nessuna barra delle applicazioni di copertura ingrandita dopo l'inizializzazione dell'app
Questo funziona bene se il WindowState
è impostato su Maximized
e la WindowStyle
è impostato su None
in XAML per cui l'applicazione viene avviata in quello stato. Il problema è che voglio avviare l'app in una finestra confinata e quando l'utente sceglie, massimizza come specificato sopra. Nel gestore StateChanged
controllo lo stato Maximized
e in tal caso imposto lo WindowStyle
su None
. Questo ha l'effetto di massimizzare la finestra ma NON copre la barra delle applicazioni. Il seguente codice farà questo lavoro come voglio, ma la sua un hack e mi piacerebbe ripulirlo:
if (WindowState == WindowState.Maximized)
{
m_videoWindow.Maximize();
WindowStyle = WindowStyle.None;
//the following makes this work but I would like to clean it up
Hide();
Show();
}
EDITThis (a partire dal 2006, quando ancora in CTP) menziona il problema e qualcuno da MS afferma che sperano di migliorare il supporto a schermo intero nella prossima versione, sono stati apportati questi miglioramenti?
Questo problema è ancora vivo e vegeto con tutte le ultime versioni di WPF/.NET 4.0 ... - Suppongo che Microsoft volesse che questo bug fosse retrocompatibile ... la correzione hide/show funziona benissimo anche se ... Sto facendo il mio in modo un po 'diverso, chiamando Hide, impostando le proprietà, quindi chiamando Show. – BrainSlugs83
Beh, dannazione. Ho notato che alcuni dei miei controlli non vengono ridimensionati correttamente, non ho idea del perché (né con il mio ordine, né con il tuo ordine ...); La soluzione rapida era Massimizzare, chiamare DoEvents(), impostare WindowStyle su None, quindi chiamare Hide & Show. - DoEvents è ovviamente System.Windows.Forms.Application.DoEvents() (Sì, lo so che è folle, e probabilmente la peggiore pratica, ma funziona ...) – BrainSlugs83