我正在构建一个UWP应用程序。我希望我的应用程序根本不响应Tab键。我的意思是,只要用户按下Tab键,我的应用就应该完全忽略。
您可以在页面的PreviewKeyDown
事件中处理Tab键:
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
派生。
Frame
您可以将PreviewKeyDown
处理程序添加到Frame
中应用程序的根App.xaml.cs
控件:
rootFrame = new Frame();
rootFrame.PreviewKeyDown += RootFrame_PreviewKeyDown;