WPF中如何实现根据两个CheckBox点击状态 定义背景色 同时更换条件 原背景色不变
时间: 2024-03-12 11:47:08 浏览: 202
改变按钮背景颜色,单击按钮实现了两种不同颜色相互转换
4星 · 用户满意度95%
可以在XAML中使用MultiDataTrigger来实现这个功能。MultiDataTrigger可以监听多个数据源的变化,当所有数据源的值都满足条件时,触发相应的行为。
下面是一个示例代码,其中当两个CheckBox都被选中时,背景色为红色,同时更换条件,原背景色不变。
```
<Window.Resources>
<Style x:Key="MyButtonStyle" TargetType="{x:Type Button}">
<Setter Property="Background" Value="Blue"/>
<Style.Triggers>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding ElementName=checkBox1, Path=IsChecked}" Value="True"/>
<Condition Binding="{Binding ElementName=checkBox2, Path=IsChecked}" Value="True"/>
</MultiDataTrigger.Conditions>
<Setter Property="Background" Value="Red"/>
<Setter Property="Content" Value="条件改变"/>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Window.Resources>
<Grid>
<StackPanel>
<CheckBox Name="checkBox1" Content="CheckBox1"/>
<CheckBox Name="checkBox2" Content="CheckBox2"/>
<Button Style="{StaticResource MyButtonStyle}" Content="原背景色"/>
</StackPanel>
</Grid>
```
阅读全文