XAML - 开关按钮



开关按钮是一种可以切换状态的控件,例如 CheckBox 和 RadioButton。ToggleButton 类的继承层次如下 −

ToggleButton Hierarchy

属性

序号 属性 & 描述
1

IsChecked

获取或设置 ToggleButton 是否被选中。

2

IsCheckedProperty

标识 IsChecked 依赖属性。

3

IsThreeState

获取或设置一个指示控件是否支持三种状态的值。

4

IsThreeStateProperty

标识 IsThreeState 依赖属性。

事件

序号 事件 & 描述
1

Checked

当选中 ToggleButton 时触发。

2

Indeterminate

当 ToggleButton 的状态切换为不确定状态时触发。

3

Unchecked

当未选中 ToggleButton 时触发。

示例

以下示例显示了在 XAML 应用程序中使用 ToggleButton。以下是使用一些属性创建和初始化 ToggleButton 的 XAML 代码。

<Page x:Class = "XAMLToggleButton.MainPage" 
   xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
   xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
   xmlns:local = "using:XAMLToggleButton" 
   xmlns:d = "http://schemas.microsoft.com/expression/blend/2008" 
   xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
   mc:Ignorable = "d">
	
   <Grid Background = "{ThemeResource ApplicationPageBackgroundThemeBrush}"> 
      <StackPanel Orientation = "Vertical"> 
         <ToggleButton x:Name = "cb2" Content = "Toggle"
            Checked = "HandleCheck" Unchecked = "HandleUnchecked" 
            Margin = "100" Width = "100" HorizontalAlignment = "Center"/>
         
         <TextBlock x:Name = "text2" Margin = "10" Width = "300"
            HorizontalAlignment = "Center" Height = "50" FontSize = "24"/>
      </StackPanel>
   </Grid> 
	
</Page>

以下是 Checked 和 Unchecked 事件的 C# 实现 −

using System; 
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;

// The Blank Page item template is documented at http://go.microsoft.com/fwlink/?LinkId=234238

namespace XAMLToggleButton {
   /// <summary> 
      /// An empty page that can be used on its own or navigated to within a Frame. 
   /// </summary> 
	
   public sealed partial class MainPage : Page {
      public MainPage() { 
         this.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 Output

我们建议你执行以上示例代码,并尝试其他一些属性和事件。

xaml_controls.htm
广告