0

我正在做一个项目,我有一些文本框,其中一些只有数字,但在 xaml inputscope="number" 中,虚拟键盘出现了一些字符,例如“[ + % ]” ...。我使用了 key.down 事件但是shift+4 (+) 通过了我搜索并找到 control.modiferKey 的异常,但它不在 Metro 应用程序上

我觉得

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

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

4

2 回答 2

0

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

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 一样被捕获...请尝试实现代码并查看

于 2013-02-07T15:37:51.073 回答
0
 private void pwd_KeyDown(object sender, KeyRoutedEventArgs e)
    { 
        if (e.Key == Windows.System.VirtualKey.Enter)
        {
            loginclick_Click(this, new RoutedEventArgs());
        }
    }

而不是输入 do shift,ctrl 等

于 2013-07-17T06:42:29.257 回答