2013-02-05 64 views
0

我正在开发一个项目,我有一些文本框,其中只有一些是数字,但在xaml inputscope =“number”中,虚拟键盘也出现了一些字符就像“[+%]”.... 我使用key.down事件,但移位+ 4(+)通过了怀疑 我搜索并找到control.modiferKey,但它不在地铁应用程序如何确定shift + alt + control +按下菜单键win8 metro app

我认为

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

但必须有一个简单的方法 任何人都可以帮助我吗?

+0

使用CoreWindow.GetKeyState()代替。 –

回答

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

可以ahndle此事件中自己的逻辑。大多数KY下来事件可以被捕获像DIS ...请尝试执行代码,看看

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

,而不是进入做Shift,Ctrl等

相关问题