我希望达到与基于Windows Media Player或基于浏览器的Flash播放器相同的效果,这些播放器在最大化时占用整个(甚至不是任务栏可见)实际占用的空间。WPF窗口样式=无覆盖任务栏当应用程序初始化时最大化
如果WindowState
设置为Maximized
等应用程序在该国开始WindowStyle
设置为None
在XAML这工作得很好。问题是我想在边框窗口中启动应用程序,当用户选择时,按照上面的指定最大化。在StateChanged
处理程序中,我检查Maximized
状态,如果是这种情况,我将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();
}
编辑This(从2006年时仍处于CTP)提到从MS问题,有人他们希望在下一个版本中改进全屏支持,是否进行了这些改进?
这个问题仍然活着,并与WPF/.NET 4.0的所有最新版本... - 我想微软希望这个错误是向后兼容的...你的隐藏/显示修复工程很好,但...我在做我的一点不同,调用隐藏,设置属性,然后调用Show。 – BrainSlugs83 2011-09-18 08:56:54
那该死的。我注意到我的一些控件没有正确调整大小,不知道为什么(无论是我的订单还是订单...);快速解决方案是最大化,调用DoEvents(),将WindowStyle设置为None,然后调用Hide&Show。 - DoEvents当然是System.Windows.Forms.Application.DoEvents()(是的,我知道这是疯了,也许是最坏的做法,但它的工作原理......) – BrainSlugs83 2011-09-18 09:47:36