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

相关推荐
獨枭21 小时前
C# 本地项目引用失效与恢复全攻略
开发语言·c#·visual studio
清风与日月21 小时前
c# 上位机作为控制端与下位机通信方式
单片机·嵌入式硬件·c#
烛阴1 天前
从零开始掌握C#核心:变量与数据类型
前端·c#
yue0081 天前
C# 生成指定位数的编号
开发语言·c#
红黑色的圣西罗1 天前
C# List.Sort方法总结
开发语言·c#
夏霞1 天前
c# ASP.NET Core SignalR 客户端配置自动重连次数
c#·.netcore
2501_930707781 天前
使用C#代码在 Word 文档中查找并替换文本
开发语言·c#·word
一个帅气昵称啊1 天前
在.NET中使用RAG检索增强AI基于Qdrant的矢量化数据库
ai·性能优化·c#·.net·rag·qdrant
FuckPatience1 天前
WPF 使用UserControl / ContentControl显示子界面
wpf