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 小时前
Winform入门
开发语言·机器学习·c#
用户298698530144 小时前
C#: 如何自动化创建Word可填写表单,告别手动填写时代
后端·c#·.net
为自己_带盐7 小时前
在 Blazor Server 中集成 docx-preview.js 实现高保真 Word 预览
javascript·c#·word
hixiong1238 小时前
C# OpenvinoSharp部署DDDDOCR验证码识别模型
opencv·c#·ocr·openvino
唐青枫8 小时前
C#.NET ConcurrentBag<T> 设计原理与使用场景
c#·.net
玩泥巴的17 小时前
飞书 .NET SDK 事件处理的幂等性与去重机制
c#·.net·二次开发·飞书
在路上看风景18 小时前
3.2 FileStream
c#
zwm26988881518 小时前
6号楼 部分声光24v电压达不到,显示11v
c#
椒颜皮皮虾1 天前
TensorRtSharp:在 C# 世界中释放 GPU 推理的极致性能
c#·tensorrt