2021/10/20更新
<CheckBox Click="CheckBox_Click">
Click可以让Checked和Unchecked二合一。
private void CheckBox_Click(object sender, RoutedEventArgs e)
{
switch (this.CheckBox名称.IsChecked) {
case true:
...
break;
case false:
...
break;
default:
...
break;
}
}
如果给Checked分配了方法,但不给UnChecked分配方法,那么unchecked时候根本不会经过Checked的方法啊。。显然啊。。(我今天傻逼了)
例1
<CheckBox x:Name="cb1" Grid.Row="1" Margin="5,0,0,0"
Content="Three-state CheckBox" IsThreeState="True"
Checked="HandleCheck" Unchecked="HandleUnchecked"
Indeterminate="HandleThirdState" Background="Red" />
<TextBlock x:Name="text1" Grid.Row="2" Margin="5,0,0,0" />
background是方框的填充色,foreground是content的颜色。
private void HandleCheck(object sender, RoutedEventArgs e)
{
text1.Text = "The CheckBox is checked.";
}
private void HandleUnchecked(object sender, RoutedEventArgs e)
{
text1.Text = "The CheckBox is unchecked.";
}
private void HandleThirdState(object sender, RoutedEventArgs e)
{
text1.Text = "The CheckBox is in the indeterminate state.";
}
原始图像:(选中->未选中还是要展示text1的)
选中:
中间态