I have a visual tree similar to the following one:
TreeView
TreeViewItem
ComboBox
TreeViewItem
TextBox
The visual tree is made from a few data templates, and a single DataTemplateSelector.
The problem, when I press ↑ or ↓ on the keyboard when the element with the ComboBox has focus, ComboBox handles that key by switching the selected element.
How to prevent ComboBox and TextBox controls inside the tree nodes from handling the keys which are used by TreeView keyboard navigation?
CodePudding user response:
You can disable KeyboardNavigation.DirectionalNavigation within TreeViewItem containers.
Gets or sets the directional navigation behavior for the children of the element that this property is set on. [...] Directional navigation is invoked by using the arrow keys.
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}" BasedOn="{StaticResource {x:Type TreeViewItem}}">
<Setter Property="KeyboardNavigation.DirectionalNavigation" Value="None"/>
</Style>
</TreeView.ItemContainerStyle>
