wpf之ToggleButton控件

前言

在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"   />

马工撰写的年入30万+C#上位机项目实战必备教程(点击下方链接即可访问文章目录)

1、《C#串口通信从入门到精通》

2、《C#与PLC通信从入门到精通 》

3、《C# Modbus通信从入门到精通》

4、《C#Socket通信从入门到精通 》

5、《C# MES通信从入门到精通》

6、《winform控件从入门到精通》

7、《C#操作MySql数据库从入门到精通》

相关推荐
缺点内向1 小时前
C#: 告别繁琐!轻松移除Word文档中的文本与图片水印
c#·自动化·word·.net
喵叔哟2 小时前
06-ASPNETCore-WebAPI开发
服务器·后端·c#
2501_930707782 小时前
使用 C# .NET 从 PowerPoint 演示文稿中提取背景图片
c#·powerpoint·.net
初级代码游戏3 小时前
套路化编程 C# winform 自适应缩放布局
开发语言·c#·winform·自动布局·自动缩放
大空大地20264 小时前
流程控制语句--switch多分支语句使用、while循环语句的使用、do...while语句、for循环
c#
kylezhao20196 小时前
C#序列化与反序列化详细讲解与应用
c#
JQLvopkk6 小时前
C# 实践AI :Visual Studio + VSCode 组合方案
人工智能·c#·visual studio
故事不长丨6 小时前
C#线程同步:lock、Monitor、Mutex原理+用法+实战全解析
开发语言·算法·c#
kingwebo'sZone6 小时前
C#使用Aspose.Words把 word转成图片
前端·c#·word
大空大地20267 小时前
表达式与运算符
c#