Wpf 文本框焦点上的ListBoxItem选择

Wpf 文本框焦点上的ListBoxItem选择,wpf,textbox,listbox,selection,Wpf,Textbox,Listbox,Selection,我有一个使用以下数据模板显示项目的列表框: <DataTemplate x:Key="PersonTemplate" DataType="{x:Type DAL:ResultItem}" > <StackPanel Width="280" > <TextBox BorderThickness="0" IsReadOnly="True" Background="Transparent" Text="{Binding FullName1, Mode=OneW

我有一个使用以下数据模板显示项目的列表框:

<DataTemplate x:Key="PersonTemplate" DataType="{x:Type DAL:ResultItem}" >
  <StackPanel Width="280" >
    <TextBox BorderThickness="0" IsReadOnly="True" Background="Transparent" Text="{Binding FullName1, Mode=OneWay}"/>
    ... 
  </StackPanel>
</DataTemplate>
<Style.Triggers>
  <Trigger Property="IsKeyboardFocusWithin" Value="True">
    <Setter Property="IsSelected" Value="True"/>
  </Trigger>
</Style.Triggers>

... 
我使用的是透明、只读、无边框的文本框,而不是文本块,因为我希望用户能够选择要复制的文本。我应该换一种方式吗? 我如何编写它,以便当用户单击文本框时,ListBoxItem也被选中


谢谢

我发现答案只是从ListBoxItem的角度来看,在其DataTemplate中添加以下内容:

<DataTemplate x:Key="PersonTemplate" DataType="{x:Type DAL:ResultItem}" >
  <StackPanel Width="280" >
    <TextBox BorderThickness="0" IsReadOnly="True" Background="Transparent" Text="{Binding FullName1, Mode=OneWay}"/>
    ... 
  </StackPanel>
</DataTemplate>
<Style.Triggers>
  <Trigger Property="IsKeyboardFocusWithin" Value="True">
    <Setter Property="IsSelected" Value="True"/>
  </Trigger>
</Style.Triggers>

正是我想要的!一旦我想到把它放在列表框的ItemContainerStyle中,就可以开始了!对于完整的XAML,请查看此