键盘限制更改的一个后果是按ESC不会在受信任的应用程序中退出全屏模式。这使您可以使用ESC键进行其他功能。但是,您必须提供自己的用户界面以退出全屏模式。
参考:http://msdn.microsoft.com/en-us/library/ee721083(v=VS.95).aspx#fullscreen_support
我需要让ESC在受信任的应用程序中退出全屏模式而不在所有页面中提供UI控件。
请给我提示,谢谢。
答案 0 :(得分:2)
这就是你这样做的方式。
private void UserControl_KeyDown(object sender, KeyEventArgs e)
{
if (e.Key == Key.Escape && App.Host.Content.IsFullScreen)
{
App.Host.Content.IsFullScreen = false;
}
}
private void UserControl_Load(object sender, RoutedEventArgs e)
{
this.AddHandler(UIElement.KeyDownEvent, new KeyEventHandler(UserControl_KeyDown), true);
}
通过使用AddHandler
方法,您可以指示您想要接收keydown事件,无论它是否已被另一个控件标记为已处理。因此,无论当前有什么控制焦点,按下Esc键都应该冒泡到顶部。