我有一个应用程序级别的样式ComboBoxItem
:
<Style TargetType="{x:Type ComboBoxItem}" x:Key="DefaultComboBoxItemStyle">
<!-- ... -->
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<!-- ... -->
</Style>
<Style TargetType="{x:Type ComboBoxItem}" BasedOn="{StaticResource DefaultComboBoxItemStyle}" />
这种风格在 99% 的情况下都适合我。但是,当绑定对象没有IsSelected
属性时,有 1%。我想覆盖这个绑定(特别是完全清除它)。
我想,这将是可能的:
<!-- somewhere in application code -->
<ComboBox Margin="5" ItemsSource="{Binding Items}" SelectedItem="{Binding SelectedItem}">
<ComboBox.ItemContainerStyle>
<Style TargetType="ComboBoxItem" BasedOn="{StaticResource DefaultComboBoxItemStyle}">
<Setter Property="IsSelected" Value="False"/>
</Style>
</ComboBox.ItemContainerStyle>
</ComboBox>
但它不起作用,仍然存在绑定错误。有什么方法可以在 XAML 中实现我想要的吗?