Лучшее решение состояло в том, чтобы использовать элемент корня, как предложено ранее, потому что глобальное более легкое использование, функции одного класса относились к каждой странице, означая, что нужно обращаться с каждым коротким путем отдельно на каждой странице или ошибках риска.
Мой XAML был настроен следующим образом:
...
Мой C#, чтобы управлять той страницей похож на это:
...
namespace DenisQuiz.UWP
{
public sealed partial class StudyADeck : Page
{
...
public StudyADeck()
{
...
//Keyboard shortcuts
root.KeyDown += Root_KeyDown;
}
private void Root_KeyDown(object sender, KeyRoutedEventArgs e)
{
switch (e.Key)
{
case Windows.System.VirtualKey.F:
FlipCard();
break;
case Windows.System.VirtualKey.Right:
NextCard();
break;
case Windows.System.VirtualKey.Left:
PreviousCard();
break;
case Windows.System.VirtualKey.S:
Frame.GoBack();//Stop Studying
break;
case Windows.System.VirtualKey.E:
Frame.Navigate(typeof(EditANotecard));//Edit this card
break;
case Windows.System.VirtualKey.D:
DeleteNotecardAsync();
break;
default:
break;
}
}
...
Имя , к корню
получают доступ через любой keypress, сделанный, когда то окно открыто через выражение корень. KeyDown + = Root_KeyDown
. Это называет Root_KeyDown()
метод, который тогда может осуществить любую функцию на основе ключа, посылают keypress аргументом KeyRoutedEventArgs e
.
Мой код осуществляет выключатель
заявление, чтобы определить ключевые функции.