13

次の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>

ユーザーがコピーするテキストを選択できるようにするため、TextBlockではなく透過的で読み取り専用のボーダレスTextBoxを使用しています。別の方法で行う必要がありますか?ユーザーがTextBoxをクリックしたときに、ListBoxItemも選択されるようにするには、どうすればよいですか?

ありがとう!

4

1 に答える 1

22

答えは、ListBoxItemの観点からこれを実行し、DataTemplateに次を追加することであることがわかりました。

<Style.Triggers>
  <Trigger Property="IsKeyboardFocusWithin" Value="True">
    <Setter Property="IsSelected" Value="True"/>
  </Trigger>
</Style.Triggers>
于 2009-05-26T23:39:24.990 に答える