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数据库从入门到精通》

相关推荐
万19992 小时前
asp.net core webapi------3.AutoMapper的使用
c#·.netcore
唐青枫2 小时前
C#.NET 路由机制深入解析:从传统路由到 Endpoint Routing
c#·.net
西岭千秋雪_4 小时前
Zookeeper实现分布式锁
java·分布式·后端·zookeeper·wpf
beyond谚语11 小时前
第三章 布局
wpf
hixiong12312 小时前
C# OpenCVSharp使用 读光-票证检测矫正模型
人工智能·opencv·c#
霜绛12 小时前
C#知识补充(二)——命名空间、泛型、委托和事件
开发语言·学习·unity·c#
好望角雾眠13 小时前
第四阶段C#通讯开发-6:Socket之UDP
开发语言·笔记·学习·udp·c#
霜绛14 小时前
C#知识补充(一)——ref和out、成员属性、万物之父和装箱拆箱、抽象类和抽象方法、接口
开发语言·笔记·学习·c#
爱编程的鱼14 小时前
C# var 关键字详解:从入门到精通
开发语言·c#·solr
玩泥巴的15 小时前
解放双手!使用Roslyn生成代码让你的 HTTP 客户端开发变得如此简单
c#·.net·代码生成·roslyn