wpf - TextBox 焦点上的 ListBoxItem 选择

标签 wpf textbox listbox selection

我有一个 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 也会被选中?

谢谢!

最佳答案

我发现答案只是从 ListBoxItem 的角度执行此操作,将以下内容添加到其 DataTemplate 中:

<Style.Triggers>
  <Trigger Property="IsKeyboardFocusWithin" Value="True">
    <Setter Property="IsSelected" Value="True"/>
  </Trigger>
</Style.Triggers>

关于wpf - TextBox 焦点上的 ListBoxItem 选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/913144/

相关文章:

c# - 我收到错误 : Additional information: Object reference not set to an instance of an object

c# - 为什么从后面的代码设置键盘焦点需要 Dispatcher.BeginInvoke?

javascript - 列表框值更改时隐藏 div

WPF 应用程序未正确关闭

c# - WPF 新手 - 如何将整个 Binding 对象存储在 DataGrid 的行中?

javascript - 如何使用页面名称作为文本框值

C# WPF 如何将 .txt 文件的内容显示到列表框中?

c# - 根据 OnKeyUp 的文本框过滤 ListBox 项目?

.net - 在哪里可以获取 WPF 中上下文菜单菜单项的图标

wpf - 访问 ControlTemplate 中的内部元素