如何确定shift + alt + control +菜单键按下win8 metro app

时间:2013-02-05 08:45:45

标签: c# microsoft-metro

我正在开发一个项目,我有一些文本框,其中一些只是数字,但在xaml inputscope =“number”中,虚拟键盘显示的某些字符也像“[+%]”.... 我使用了key.down事件,但是shift + 4(+)传递了exeception 我搜索并找到了control.modiferKey,但它不在地铁应用程序

我认为

if keyDown is shift boolean = true 
if keyUp boolean = false 
if boolean == true and digit pressed do nothing 

但必须有一个简单的方法 有谁可以帮助我?

2 个答案:

答案 0 :(得分:0)

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

Window.Current.CoreWindow.KeyDown += CoreWindow_KeyDown;
        Window.Current.CoreWindow.KeyUp += CoreWindow_KeyUp;

继承他们的事件

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

你可以在这个事件中找到自己的逻辑。大多数ky down事件都可以像dis一样被捕获...请尝试实现代码并查看

答案 1 :(得分:0)

 private void pwd_KeyDown(object sender, KeyRoutedEventArgs e)
    { 
        if (e.Key == Windows.System.VirtualKey.Enter)
        {
            loginclick_Click(this, new RoutedEventArgs());
        }
    }

而不是输入do shift,ctrl等