c# - WPF full screen on maximize -


i want have wpf window go in full screen mode, when f11 pressed or maximize button in right top corner of window pressed.

while following works charm pressing f11:

private void window_keydown(object sender, keyeventargs e) {     if (e.key == key.f11)     {         windowstyle = windowstyle.none;         windowstate = windowstate.maximized;         resizemode = resizemode.noresize;     } } 

this still displays windows taskbar (tested windows 7):

protected override void onstatechanged(eventargs e) {     if (windowstate == windowstate.maximized)     {         windowstyle = windowstyle.none;         windowstate = windowstate.maximized;         resizemode = resizemode.noresize;     }     base.onstatechanged(e); } 

what missing here? or can more elegant?

wpf seems making decision whether go full-screen or respect taskbar based on windowstyle @ time of maximisation. kludgy effective solution switch window non-maximised, set windowstyle, , set window maximised again:

private bool _instatechange;  protected override void onstatechanged(eventargs e) {   if (windowstate == windowstate.maximized && !_instatechange)   {     _instatechange = true;     windowstate = windowstate.normal;     windowstyle = windowstyle.none;     windowstate = windowstate.maximized;     resizemode = resizemode.noresize;     _instatechange = false;   }   base.onstatechanged(e); } 

although code ugly, transition normal , maximized doesn't seem make user experience worse. on display, noticed flicker both f11 code , kludge maximise, not noticeably worse on kludge maximise. mileage may vary!


Comments

Popular posts from this blog

javascript - Enclosure Memory Copies -

php - Replacing tags in braces, even nested tags, with regex -