我有一个ListBox,使用以下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>
我使用透明,只读,无边框TextBox而不是TextBlock,因为我希望用户能够选择要复制的文本。我应该采用不同的方式吗? 我怎么写这个,这样当用户点击TextBox时,ListBoxItem也会被选中?
谢谢!
答案 0 :(得分:20)
我发现答案只是从ListBoxItem的角度来做,将以下内容添加到其DataTemplate中:
<Style.Triggers>
<Trigger Property="IsKeyboardFocusWithin" Value="True">
<Setter Property="IsSelected" Value="True"/>
</Trigger>
</Style.Triggers>