我正在使用Windows Community ToolKit Loading
控件。我设置了Background="Transparent"
以防止指针点击加载控件后面的UI元素,但是仍然可以使用键盘标签将焦点设置到控件后面的UI控件。是否有一种简单/优雅的方法来防止将键盘选项卡插入此类后置控件中。
我可以在面板/容器控件上使用IsEnabled
,但是我不喜欢禁用元素的样式,也不想针对IsEnabled
重新设置所有控件的样式演示文稿。
我尝试过IsTabStop
,但是随后我需要将面板/容器包装到usercontrol/contentcontrol
中,并且IsTabStop
不会继承给孩子。我不想在加载叠加层后面的所有控件上都设置IsTabStop
。
我已经搜索了一些与焦点相关的属性的信息,但是找不到我可以使用的任何东西。
希望有人对我的问题有一个聪明的解决方案
答案 0 :(得分:0)
根据您的要求,您可以处理PreviewKeyDown
当前内容,然后确定 Tab 按键设置e.Handled = true
。
Window.Current.Content.PreviewKeyDown += Content_PreviewKeyDown;
private void Content_PreviewKeyDown(object sender, KeyRoutedEventArgs e)
{
e.Handled = e.Key == VirtualKey.Tab ? true : false;
}
上面的代码将忽略当前内容中按下的 Tab 。