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

相关推荐
筱璦4 小时前
期货软件开发 - C# 调用 HQChart 指标计算 C++ 动态库
c++·microsoft·c#
武藤一雄5 小时前
C# 异常(Exception)处理避坑指南
windows·microsoft·c#·.net·.netcore·鲁棒性
武藤一雄8 小时前
WPF中ViewModel之间的5种通讯方式
开发语言·前端·microsoft·c#·wpf
雨浓YN8 小时前
OPC UA 通讯开发笔记 - 基于Opc.Ua.Client
笔记·c#
我是唐青枫9 小时前
C#.NET TPL Dataflow 深入解析:数据流管道、背压控制与实战取舍
c#·.net
SunnyDays101111 小时前
如何使用 C# 创建、修改和删除 Excel 中的 VBA 宏(无需Microsoft Excel)
c#·excel·vba宏·创建vba宏·修改vba宏·删除vba宏
唐青枫12 小时前
C#.NET gRPC 深入解析:Proto 定义、流式调用与服务间通信取舍
c#·.net
水深00安东尼13 小时前
C# 鼠标点击小游戏
c#
波波00713 小时前
每日一题:C#中using的三种用法
开发语言·c#
游乐码13 小时前
c#万物之父
开发语言·c#