[wpf] Auswählen eines ListBoxItem, wenn seine innere ComboBox fokussiert ist



Answers

Ich fand, dass ich es vorzog, dies zu verwenden:

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

Einfach und funktioniert für alle Listboxitems, unabhängig davon, was drin ist.

Question

Ich habe ein DataTemplate, das ein ListBoxItem-Template sein wird, dieses DataTemplate hat eine ComboBox, die, wenn es den Fokus hat, das ListBoxItem, das diese Vorlage darstellt, ausgewählt werden soll, das sieht für mich richtig aus. aber leider funktioniert es nicht = (

Die eigentliche Frage ist hier in einem DataTemplate ist es möglich, den Wert der ListBoxItem.IsSelected Eigenschaft über einen DataTemplate.Trigger zu erhalten oder zu setzen?

<DataTemplate x:Key="myDataTemplate" 
              DataType="{x:Type local:myTemplateItem}">

 <Grid x:Name="_LayoutRoot">
     <ComboBox x:Name="testComboBox" />
 </Grid>

 <DataTemplate.Triggers>
     <Trigger Property="IsFocused" value="true" SourceName="testComboBox">
         <Setter Property="ListBoxItem.IsSelected" Value="true" />
     </Trigger>
 </DataTemplate.Triggers>

</DataTemplate>

<ListBox ItemTemplate="{StaticResource myDataTemplate}" />