<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="Background" Value="Green"/>
</Trigger>
</ControlTemplate.Triggers>
<ControlTemplate.Triggers>
<Trigger Property="IsPressed" Value="True">
<Setter Property="Background" TargetName="Background" Value="Green"/>
</Trigger>
</ControlTemplate.Triggers>
首先,您所描述的是一个ToggleButton(切换按钮)。
其次,使用样式和触发器来处理“IsChecked”状态。
<Style x:Key="MyToggleStyle" TargetType="{x:Type ToggleButton}">
<Style.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Green"/>
</Trigger>
<Trigger Property="IsChecked" Value="False">
<Setter Property="Background" Value="Red"/>
</Trigger>
</Style.Triggers>
</Style>
该解决方案与WPF中切换按钮状态的自定义有关。
使用类似以下的东西:
<Button>
...
<Button.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding SomeField, Converter={StaticResource yourConverter}}" Value="yourValue">
<!-- set what you want here -->
</DataTrigger>
</Style.Triggers>
</Style>
</Button.Style>
</Button>
实际上,可以使用复选框来实现这个功能。让我解释一下:
WPF 允许您定义控件模板,这基本上就是整个控件本身。您可以创建一个看起来完全像按钮的复选框。
但是,正如某人所说,ToggleButton 可能是您想要使用的。