2016-12-03 8 views
0

ユーザが押すたびに何かを保存したいですか?Ctrl + Sキーをキーボードから入力します。
私は現在keydown Event Handlerを利用していますが、私は一度に1つのキーにアクセスできます。crtl + Sキーが押されたときに何かを保存する方法(UWPアプリ)

ここに私のコードです。

private void txtWriteSomething_KeyDown(object sender, KeyRoutedEventArgs e) 
    { 

     if (**VirtualKeyModifiers.Control** && e.Key==VirtualKey.Control) 
     { 
      //how to use VirtualKeyModifiers in this statement? 
     } 
    } 

(msdnによる)組み合わせを取得するには、virtulakeymodifiers列挙を使用します。ここで私はそれをどうやって使うのか、それほど手に入らない。

答えて

2

これはうまくいくはずです。

Window.Current.CoreWindow.KeyDown += (s, e) => 
{ 
    var ctrl = Window.Current.CoreWindow.GetKeyState(VirtualKey.Control); 
    if (ctrl.HasFlag(CoreVirtualKeyStates.Down) && e.VirtualKey == VirtualKey.S) 
    { 
     MessageDialog _dialog = new MessageDialog("Ctrl+S"); 
     _dialog.ShowAsync(); 
    } 
}; 

あなたが表示された場合、私はCoreWindowCtrl+Sに加入。これを1ページだけに登録したい場合は、そのページのKeyDownに登録してください。

+0

それは働いていません.. – Ahmad

+0

あなたはkeydownイベントをどこに購読していますか?あなたのコードの中のどのメソッドのように? – AVK

関連する問題