WPF - ToggleButton 切换按钮控件
ToggleButton 切换按钮是可以切换状态的控件,例如 CheckBox 和 RadioButton。 ToggleButton类的层次继承如下−
ToggleButton 类中常用的属性
| Sr. No. | 属性和描述 |
|---|---|
| 1 | IsChecked 获取或设置是否选中 ToggleButton。 |
| 2 | IsCheckedProperty 标识 IsChecked 依赖属性。 |
| 3 | IsThreeState 获取或设置一个值,该值指示控件是否支持三种状态。 |
| 4 | IsThreeStateProperty 标识 IsThreeState 依赖属性。 |
ToggleButton类中常用的事件
| Sr. No. | 事件和描述 |
|---|---|
| 1 | Checked 选中 ToggleButton 时触发。 |
| 2 | Indeterminate 当 ToggleButton 的状态切换到不确定状态时触发。 |
| 3 | Unchecked 未选中 ToggleButton 时发生。 |
示例
- 让我们使用 WPFToggleButtonControl 创建一个新的 WPF 项目。
- 从工具箱中拖动一个文本块和一个切换按钮。
- 从属性窗口更改文本块的背景颜色。
- 以下示例显示了 ToggleButton 在 XAML 应用程序中的用法。
- 以下 XAML 代码创建一个 ToggleButton 并使用一些属性对其进行初始化。
<Window x:Class = "WPFToggleButtonControl.MainWindow"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local = "clr-namespace:WPFToggleButtonControl"
mc:Ignorable = "d" Title = "MainWindow" Height = "350" Width = "604">
<StackPanel>
<ToggleButton x:Name = "tb" Content = "Toggle"
Checked = "HandleCheck" Unchecked = "HandleUnchecked"Margin = "20"
Width = "108"HorizontalAlignment = "Center" />
<TextBlock x:Name = "text2" Margin = "20" Width = "300"
HorizontalAlignment = "Center" FontSize = "24" Background = "#FFFDE0E0" />
</StackPanel>
</Window>
这里是 Checked 和 Unchecked 事件的 C# 实现。
using System.Windows;
namespace WPFToggleButtonControl {
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
public MainWindow() {
InitializeComponent();
}
private void HandleCheck(object sender, RoutedEventArgs e) {
text2.Text = "Button is Checked";
}
private void HandleUnchecked(object sender, RoutedEventArgs e) {
text2.Text = "Button is unchecked.";
}
}
}
当您编译并执行上述代码时,将产生以下窗口。 当您单击该按钮时,它将更改颜色并更新文本块。
我们建议您执行上面的示例代码并尝试 ToggleButton 的其他属性和事件。

