我有一个 2 级 TreeView。Level-2 TreeViewItems 通过数据模板包含 TextBox 控件。
我想要什么:如果 TextBox 控件获得焦点,则选择相应的 TreeViewItem。我做了一些研究,发现了这一点:
<Style TargetType="ListViewItem">
<Style.Triggers>
<Trigger Property="IsKeyboardFocusWithin" Value="true">
<Setter Property="IsSelected" Value="true" />
</Trigger>
</Style.Triggers>
如果我用 TreeViewItem 替换 ListViewItem,这几乎可以完美地工作。
但是:第一个子项总是选择它的父项而不是它自己。(其他子项按预期工作)。
所以就像
<TreeView>
<TreeViewItem>
<TreeViewItem> <-- this doesn't work
<TreeViewItem> <-- this works
</TreeViewItem>
<TreeViewItem>
<TreeViewItem> <-- this doesn't work
<TreeViewItem> <-- this works
<TreeViewItem> <-- this works
</TreeViewItem>
<TreeViewItem>
<TreeViewItem> <-- this doesn't work
<TreeViewItem> <-- this works
<TreeViewItem> <-- this works
</TreeViewItem>
...
</TreeView>
任何想法我做错了什么或如何解决这个问题?