WPF数据触发器在ComboBox上不工作?
我得到了以下纯XAML:WPF数据触发器在ComboBox上不工作?,wpf,combobox,datatrigger,Wpf,Combobox,Datatrigger,我得到了以下纯XAML: <DockPanel> <ComboBox Name="combo" Height="24" Width="60"> <Border Background="Gray" Padding="20,10"> <Border.Style> <Style TargetType="Border"> &l
<DockPanel>
<ComboBox Name="combo" Height="24" Width="60">
<Border Background="Gray" Padding="20,10">
<Border.Style>
<Style TargetType="Border">
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=combo, Path=IsDropDownOpen}" Value="True">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>
</ComboBox>
<TextBlock Text="{Binding ElementName=combo, Path=IsDropDownOpen}"></TextBlock>
</DockPanel>
我希望只要打开组合框,datatrigger就会将
边框
对象的背景颜色更改为红色
,但不会发生任何变化。因为您直接在组合框
上设置了背景属性,所以触发器不会覆盖该值
对这种行为进行了解释
您必须将其设置为样式,如下所示:
<Border Padding="20,10">
<Border.Style>
<Style TargetType="Border">
<Setter Property="Background" Value="Gray" />
<Style.Triggers>
<DataTrigger Binding="{Binding ElementName=combo, Path=IsDropDownOpen}" Value="True">
<Setter Property="Background" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</Border.Style>
</Border>