在应用初始化后最大化时,带样式=无的WPF窗口覆盖任务栏

Sim*_*Fox 20 wpf layout resize

我希望获得与Windows Media Player或基于浏览器的Flash播放器相同的效果,这些播放器在最大化时占用整个(甚至任务栏都不可见)的房地产.

如果这工作得很好WindowState被设置为MaximizedWindowStyle被设定为None这样的应用程序处于该状态开始XAML.问题是我想在一个有边框的窗口中启动应用程序,当用户选择时,如上所述最大化.在StateChanged处理程序中我检查Maximized状态,如果是这种情况我设置WindowStyleNone.这具有最大化窗口但不覆盖任务栏的效果.下面的代码将使我的工作正常,但它是一个黑客,我想清理它:

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();
}
Run Code Online (Sandbox Code Playgroud)

编辑 这个(从2006年仍然在CTP中)提到了这个问题,来自MS的某些人希望在下一个版本中改进全屏支持,是否已经进行了这些改进?

Edu*_*eni 14

本文解释了这一切:考虑任务栏最大化窗口(使用WindowStyle = None).

另外值得一试的是:WPF中的自定义窗口Chrome.

编辑:现在是新的,是WPF Shell集成库,它允许完全重新设置窗口chrome,而不会出现重新实现移动,调整大小等问题的麻烦.

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