[wpf] تحديد ليستبوكسيتم عندما يتركز مربع تحرير وسرد داخلي


0 Answers

لقد وجدت أني فضلت استخدام هذا:

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

بسيطة ويعمل لجميع ليستبوستيتمس، بغض النظر عن ما هو في الداخل.

Question

لدي داتاتيمبلات ستكون قائمة ليستبوكسيتم، يحتوي داتاتيمبلات على مربع تحرير وسرد فيه والذي عندما يكون التركيز أريد أن ليستبوكسيتم أن هذا القالب يمثل أن تصبح مختارة، وهذا يبدو لي حق. ولكن للأسف لا يكفي أنها لا تعمل = (

لذلك السؤال الحقيقي هنا ضمن داتاتيمبلات من الممكن الحصول على أو تعيين قيمة الخاصية ListBoxItem.IsSelected عبر ListBoxItem.IsSelected ؟

<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}" />



Related