如何使WPF Listbox子datatemplate控件在单击时选择ListBoxItem容器?

Ale*_*lex 2 .net wpf listbox listboxitem childcontrol

我有一个列表框,在datatemplate中我有一个Expander.

如果我单击Expander Header,扩展器将展开内容区域,但不会使父ListBoxItem选中.

如果我单击Expander的Expanded Content Zone,则会选择父ListBoxItem.

单击expandderHeader时如何使内容扩展并且父列表框项被选中?

She*_*dan 7

我意识到这个问题已得到解答,但有一种更简单的方法可以实现这个理想的结果.您可以添加TriggerListBoxItem Style将选择ListBoxItem每当其元素ItemTemplate具有键盘焦点:

<Style.Triggers> 
  <Trigger Property="IsKeyboardFocusWithin" Value="True"> 
    <Setter Property="IsSelected" Value="True"/> 
  </Trigger> 
</Style.Triggers>
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请查看MSDNpost1post2.