Metro 应用程序中的键盘快捷键

Tom*_*mmy 5 .net c# xaml microsoft-metro windows-8

无论哪个控件具有焦点,如何捕获键盘快捷键?我不想为用户可以关注的每个可能的控件编写相同的内容。那么我怎样才能看到一个页面范围的/独立于控件的快捷方式呢?

Ano*_*bik 4

将此代码添加到构造函数中,它将处理全局按键按下和按键

Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
        Window.Current.CoreWindow.KeyUp += CoreWindow_KeyUp;
Run Code Online (Sandbox Code Playgroud)

这是他们的活动

void CoreWindow_KeyUp(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
    {
        //this.Frame.Navigate(typeof(MainPage));
        var key = args.VirtualKey;
        string aa = args.ToString();
    }

    void CoreWindow_KeyDown(Windows.UI.Core.CoreWindow sender, Windows.UI.Core.KeyEventArgs args)
    {
        //this.Frame.Navigate(typeof(MainPage));
        var key = args.VirtualKey;
        string aa = args.ToString();
    }
Run Code Online (Sandbox Code Playgroud)

你可以在这个事件中处理你自己的逻辑。