如何禁用stackpanel上的制表位

Mic*_*ael 12 wpf tabstop stackpanel

我有一个stackpanel,当我在应用程序中选中时,它会一直保持焦点.

使用snoop我可以看到stackpanel有一个ContentControl,它有一个ContentPresenter.ContentControl得到了关注.我怎么能禁用它?为什么这是默认行为?

jim*_*les 23

这不是默认行为,如果它已被某些资源覆盖,那么您可以使用它重置它

KeyboardNavigation.IsTabStop="False"
Run Code Online (Sandbox Code Playgroud)

或者......

FocusManager.IsFocusScope="False"
Run Code Online (Sandbox Code Playgroud)

  • 这两种方法有什么区别? (7认同)

Ete*_*l21 7

与使用StackPanel作为容器的DataTemplate有类似的问题.然后将DataTemplate用于ListBox项.没有任何建议可以阻止项目接收制表位,直到我在实际列表框中使用以下内容:

KeyboardNavigation.TabNavigation="None"
Run Code Online (Sandbox Code Playgroud)