
前言
在WPF中,ToggleButton 是一个可以切换多种状态,可以是两种状态(选中/未选中)、也可以是三种状态(选中/未选中/未知)的按钮控件,下面是关于 ToggleButton 的详细介绍
1、IsChecked
ToggleButton 最常用的属性是IsChecked,该属性指示控件是否被选中,选中和不选中时的控件背景色是有区别的,但是这个区别不太明显。
1)IsChecked为true
2)IsChecked为false
代码:
csharp
<ToggleButton Content="1" Height=" 20" Width=" 40" IsChecked="False" Checked="ToggleButton_Checked" Unchecked="ToggleButton_Unchecked" />
2、自定义ToggleButton控件
IsThreeState="True" 时让ToggleButton控件从两种状态切换到三种状态。
1)IsChecked为true
2)IsChecked为{x:Null}
2)IsChecked为false
csharp
<Window.Resources>
<Style x:Key="Self_ToggleButton" TargetType="ToggleButton" >
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="ToggleButton">
<Border Background="{TemplateBinding Background }" BorderBrush="Black" BorderThickness=" 1" >
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center" />
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsChecked" Value="True">
<Setter Property="Background" Value="Green" />
</Trigger>
<Trigger Property="IsChecked" Value="False" >
<Setter Property="Background" Value="Red" />
</Trigger>
<Trigger Property="IsChecked" Value="{x:Null}" >
<Setter Property="Background" Value="Yellow" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style >
</Window.Resources>
csharp
<ToggleButton Content="2" IsThreeState="True" Style="{StaticResource Self_ToggleButton }" Height=" 20" Width=" 40" IsChecked="False" Checked="ToggleButton_Checked" Unchecked="ToggleButton_Unchecked" />