我有一个WPF UserControl,Focusable ="True".它是窗口中唯一可聚焦的控件.
每当用户按Tab或Alt(特别是当他们按Alt + Tab键到另一个应用程序)时,我的UserControl会获得一个虚线边框,即焦点矩形.然后焦点矩形停留在那里直到窗口关闭.
如何防止我的UserControl显示此焦点矩形?
事实证明,我的UserControl实际上并没有显示焦点矩形.My Focusable UserControl包含另一个UserControl,而UserControl又包含ItemsControl,而ItemsControl则显示焦点矩形.
当我将FocusVisualStyle ="{x:Null}"添加到ItemsControl时,焦点矩形消失了.
我有一个自定义弹出窗口覆盖我的部分屏幕.当它打开时,我想禁用Tabbing到它后面的UserControl.我不想使用该IsEnabled属性,因为我不想灰显所有控件.
还有另一个属性做同样的事情吗?IsTabStop仅阻止选项卡在UserControl本身上停止,而不是它的子项,并且IsFocusable不是UserControl的有效属性.
我真的很难用一些应该是微不足道的事情.我只想从UserControl上的Tab键顺序中删除几个按钮.我已经尝试添加IsTabStop="False"和KeyboardNavigation.IsTabStop="False"属性到他们的xaml声明,以及myButton.IsTabStop = false;在UserControl的Loaded事件处理程序中设置.这些添加都没有任何影响,我仍然可以选择我为此做的控件.
在xaml中设置TabIndex工作正常.UserControl正在WPFElementHost中显示,如果这可能会有所不同.另一个想法是,我可能需要为所有其他控件指定TabIndex,但我没有在任何地方阅读过,我宁愿在可能的情况下不明确说明.有没有人猜测可能会出现什么问题?