Отключить взаимодействие приложения UWP с клавишей Tab - PullRequest
0 голосов
/ 16 февраля 2019

Я создаю приложение UWP.Я хочу, чтобы мое приложение вообще не отвечало на клавишу Tab .Я имею в виду, что мое приложение должно полностью игнорировать всякий раз, когда пользователь нажимает клавишу Tab .

1 Ответ

0 голосов
/ 16 февраля 2019

Вы можете обработать клавишу Tab в событии PreviewKeyDown вашей страницы:

public MainPage()
{
    this.InitializeComponent();
    this.PreviewKeyDown += MainPage_PreviewKeyDown;
}

private void MainPage_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
{
    if (e.Key == VirtualKey.Tab)
    {
        e.Handled = true;
    }
}

Однако я бы посоветовал против этого, потому что это удаляет важную частьдоступность вашего приложения - многим пользователям нравится или нужно использовать клавиатуру для навигации.

Решение для всего приложения

Если вы хотите работать с клавишей Tab для всего приложенияВы можете сделать это двумя способами:

Создать пользовательский базовый тип страницы

Вы можете создать новый класс, такой как PageBase, который будет производным от Page и будет иметь PreviewKeyDown обработка событий настроена в его конструкторе.Все остальные страницы вашего приложения могут быть получены из PageBase.

Обработка Tab в корне Frame

Вы можете добавить обработчик PreviewKeyDown ккорень приложения Frame управления в App.xaml.cs:

rootFrame = new Frame();
rootFrame.PreviewKeyDown += RootFrame_PreviewKeyDown;
...