2016-12-03 21 views
0

我想要在用戶按下時保存某些內容Ctrl + S鍵盤上的按鍵。
我目前正在使用keydown事件處理程序,但我只能訪問一次按下一個鍵而不是組合。如何按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(); 
    } 
}; 

如果你看到,我訂閱了Ctrl+SCoreWindow。如果您想訂閱此頁面只需一頁,請在該頁面訂閱KeyDown

+0

這不工作.. – Ahmad

+0

你在哪裏訂閱keydown事件?像你的代碼背後的哪個方法? – AVK

相關問題