我想要当按下F11键或者在窗口右上角按下最大化按钮时,我的WPF窗口可以进入全屏模式。
虽然下面的代码可以实现按下F11键时的功能:
private void Window_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.F11)
{
WindowStyle = WindowStyle.None;
WindowState = WindowState.Maximized;
ResizeMode = ResizeMode.NoResize;
}
}
这段代码仍然会显示Windows任务栏(已在Windows 7上测试):
protected override void OnStateChanged(EventArgs e)
{
if (WindowState == WindowState.Maximized)
{
WindowStyle = WindowStyle.None;
WindowState = WindowState.Maximized;
ResizeMode = ResizeMode.NoResize;
}
base.OnStateChanged(e);
}
我在这里错过了什么?或者我能更加优雅地完成它吗?
WindowInteropHelper
或某些dll导入要好得多。我必须考虑一下,总的来说是个不错的想法! - Martin Buberl