WPF窗口样式=无应用程序初始化后最大化时覆盖任务栏

我想要实现与Windows Media Player或基于浏览器的Flash播放器相同的效果,它们在最大化时占用了ENTIRE(甚至任务栏都不可见)的房地产。

如果WindowState设置为“最大化”并且WindowStyle在XAML中设置为“无”,则应用程序将在该状态下启动,这样可以正常工作。问题是我想在边框窗口中启动应用程序,当用户选择时,如上所述最大化。在StateChanged处理程序中,我检查最大化状态,如果是这样,我将WindowStyle设置为None。这具有最大化窗口但不覆盖任务栏的效果。以下代码将使我按需要工作,但它的一个黑客,我想清理它:

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();
}

EDIT This(从2006年仍然在CTP)提到问题,MS州的某些人希望在下一个版本中改进全屏幕支持,这些改进是做了哪些?

这篇文章解释一下:Maximizing window (with WindowStyle=None) considering Taskbar

也值得一试:Custom Window Chrome in WPF

编辑:现在是新的,是WPF Shell集成库,允许完整的窗口chrome,而不需要重新执行移动,调整大小等的头痛。

编辑2015:Shell集成库现在集成在WPF和MS中退出了代码

http://stackoverflow.com/questions/1464908/wpf-window-with-style-none-cover-taskbar-when-maximised-after-app-initialization

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:WPF窗口样式=无应用程序初始化后最大化时覆盖任务栏