0

私はプロジェクトに取り組んでおり、いくつかのテキストボックスは数字のみですが、xaml inputscope="number" では、仮想キーボードに "[ + % ]" のような文字も表示されます .... key.down イベントを使用しましたが、 shift+4 (+) は、私が検索して見つけた例外に渡されます control.modiferKey が、メトロアプリにはありません

と思います

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

しかし、誰かが私を助けることができる簡単な方法があるに違いありませんか?

4

2 に答える 2

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 のようにキャプチャできます... コードを実装してみてください

于 2013-02-07T15:37:51.073 に答える