WPF单击ListBoxItem中的控件不选择ListBoxItem

时间:2014-06-11 09:31:28

标签: c# wpf xaml mvvm wpf-controls

您好我找不到任何类似的问题所以我发布了新的问题。在下面的代码中,我使用ListBoxItems创建ListBox控件,每个ListBoxItem包含单选按钮。当我点击单选按钮时,它会选择,但是父ListBoxItem没有(ListBoxItem没有突出显示)。我该如何解决这个问题?

<ListBox Margin="0, 5, 0, 0" ItemsSource="{Binding mySource, Mode=OneWay, UpdateSourceTrigger=PropertyChanged}" SelectionMode="Single">
    <ListBox.ItemTemplate>
        <DataTemplate>
            <!-- Rabio template -->
            <RadioButton GroupName="radiosGroup"
                     Margin="10, 2, 5, 2"
                     Command="{Binding RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type Window}}, Path=DataContext.SelectedSetting}"
                     CommandParameter="{Binding SomeId, Mode=OneWay}"
                     Content="{Binding FileNameWithoutExtensions, Mode=OneWay}" />
        </DataTemplate>
    </ListBox.ItemTemplate>
</ListBox>

1 个答案:

答案 0 :(得分:5)

您可以将以下ItemContainerStyle应用于使用ListBox属性Trigger选择它的IsKeyboardFocusWithin来实现此目的。

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