views:

53

answers:

1

One consequence of the keyboard-restriction change is that pressing ESC will not exit full-screen mode in trusted applications. This enables you to use the ESC key for other functionality. However, you must provide your own user interface for exiting full-screen mode.

Reference: http://msdn.microsoft.com/en-us/library/ee721083(v=VS.95).aspx#fullscreen_support

I need to make pressing ESC will exit from full-screen mode in trusted application without provide a UI control in all pages.

Please give me hints, thank you.

+2  A: 

This is the way you do it.

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

By using the AddHandler method you can indicate that you want to recieve the keydown event regardless of whether it has been marked as handled by another control. Hence regardless of what control currently has the focus, the pressing of the Esc key should bubble up to the top.

AnthonyWJones
Perfecto! Thank you, Anthony.
Jeaffrey Gilbert