ToggleSwitch控件

在应用程序中ToggleSwitch控件可以模拟一个允许用户在启用和禁用两种状态之间进行切换的物理开关,ToggleSwitch控件的功能与我们在日常生活中所使用的电源开关类似。

在XAML文件中,ToggleSwitch控件的用法如下所示:

<ToggleSwitch .../>

下面介绍一下ToggleSwitch控件的常用属性:

  • Header属性,获取或设置ToggleSwitch控件的标题内容。
  • OffContent属性,当ToggleSwitch控件是禁用状态时,使用OffContent属性显示文本内容。
  • OnContent属性,当ToggleSwitch控件是启用状态时,使用OnContent属性显示文本内容。

介绍完常用属性后,接着来看一下ToggleSwitch控件的常用事件:

  • Toggled事件,当ToggleSwitch控件的状态发生改变时触发。
  • Tapped事件,当单击ToggleSwitch控件的文字区域时触发。

接下来使用ToggleSwitch控件设计一个开关,拨动开关可以显示不同的效果。

新建一个Windows应用商店的空白应用程序项目,并命名为ToggleSwitchDemo,在MainPage.xaml文件的Grid元素中添加如下代码。

<ToggleSwitch Name="MyToggleSwitch" Header="ToggleSwitch控件示例" OffContent="禁用状态" FontSize="20" OnContent="启用状态" Toggled="ToggleSwitch_Toggled" HorizontalAlignment="Center" Margin="543,338,618,343"/>

<ProgressRing Name="MyProgressRing" Width="50" Height="50" Margin="748,359,568,359"/>

在上面的代码中,添加了一个ToggleSwitch控件,定义其Header属性的值为"ToggleSwitch控件示例"、OffContent属性的值为"禁用状态"以及OnContent属性的值为"启用状态",然后为Toggled事件注册了事件处理方法ToggleSwitch_Toggled,以便在拨动ToggleSwitch控件时显示不同效果。为了更好的显示对比效果,添加了一个不确定进度环ProgressRing控件(在4.4.4小节将对ProgressRing控件进行介绍)。接着定义ProgressRing控件的Name属性为MyProgressRing,Width属性和Height属性的值为50。

布局好前台界面后,打开MainPage.xaml.cs文件,为ToggleSwitch控件的Toggled事件添加ToggleSwitch_Toggled处理方法,当拨动ToggleSwitch控件时会启用或禁用此控件以便显示或隐藏不确定进度环。代码如下所示:

private void ToggleSwitch_Toggled(object sender, RoutedEventArgs e)

{

if (MyToggleSwitch.IsOn == true)

{

//显示不确定进度环和动画效果

MyProgressRing.IsActive = true;

MyProgressRing.Visibility = Visibility.Visible;

}

else

{

//隐藏不确定进度环

MyProgressRing.IsActive = false;

MyProgressRing.Visibility = Visibility.Collapsed;

}

}

在上面的代码中,通过MyToggleSwitch拨动开关的IsOn属性来判断开关的当前状态,当拨动开关处于启用状态时,其IsOn属性的值为true,设置MyProgressRing不确定进度环的IsActive属性和Visibility属性的值分别为true和Visibility.Visible,使不确定进度环显示出来并显示动画效果。

当拨动开关处于禁用状态时,其IsOn属性的值为false,设置MyProgressRing不确定进度环的IsActive属性和Visibility属性的值分别为false和Visibility.Collapsed,使不确定进度环隐藏。

运行程序,ToggleSwitch控件默认处于禁用状态,如图4-15所示,拨动开关后,将ToggleSwitch控件设置到启用状态,界面将显示带有动画效果的不确定进度环,如图4-16所示。


图4-15 ToggleSwitch控件示例——拨动开关前 图4-16 ToggleSwitch控件示例——拨动开关后

Win10系列:C#应用控件基础8的更多相关文章

  1. Win10系列:JavaScript 控件的使用

    向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...

  2. WPF从我炫系列4---装饰控件的用法

    这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...

  3. WPF 模仿 UltraEdit 文件查看器系列一 用户控件

    WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...

  4. C#控件系列--文本类控件

    C#控件系列--文本类控件         文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能         Label用来 ...

  5. 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree

    原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...

  6. 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试

    原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...

  7. WPF编游戏系列 之四 用户控件

    原文:WPF编游戏系列 之四 用户控件        在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...

  8. Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem

    Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...

  9. Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid

    Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...

  10. Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit

    Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...

随机推荐

  1. 数据库连接池 maxActive,maxIdle,maxWait参数

    maxActive 连接池支持的最大连接数,这里取值为20,表示同时最多有20个数据库连接.设 0 为没有限制.maxIdle 连接池中最多可空闲maxIdle个连接 ,这里取值为20,表示即使没有数 ...

  2. [ Build Tools ] Repositories

    仓库介绍 http://hao.jobbole.com/central-repository/ https://my.oschina.net/pingjiangyetan/blog/423380 ht ...

  3. Codeforces Round #505 (rated, Div. 1 + Div. 2, based on VK Cup 2018 Final)

    A : A. Doggo Recoloring time limit per test 1 second memory limit per test 256 megabytes input stand ...

  4. PyQt5学习笔记

    setMouseTracking bool mouseTracking这个属性保存的是窗口部件跟踪鼠标是否生效.如果鼠标跟踪失效(默认),当鼠标被移动的时候只有在至少一个鼠标按键被按下时,这个窗口部件 ...

  5. redis重要知识点

    redis是一种高级的key:value存储系统,其中value支持五种数据类型: 1.字符串(strings) 2.字符串列表(lists) 3.字符串集合(sets) 4.有序字符串集合(sort ...

  6. Sci_DRead_ParaBuzzerDriver_st_BuzzerSoundOpening1

    extern uint16 Sci_DRead_ParaMotorGroupB_u16_Motor1CinchDoneCurrent1(); * \violation 1503 The functio ...

  7. Docker Swarm 创建overlay网络

    Docker Swarm 创建overlay网络 环境: 系统:Centos 7.4 x64 应用版本:Docker 18.09.0 管理节点:192.168.1.79 工作节点:192.168.1. ...

  8. Linux 系统安全设置

    一.SElinux安全子系统策略. 临时修改 命令:setenforce 0 #临时关闭selinux. 命令:setenforce 1 #临时开启selinux 命令:getenforce      ...

  9. [Python]基础教程(3)、Python基础语法

    Python 标识符 在 Python 里,标识符由字母.数字.下划线组成. 在 Python 中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. Python 中的标识符是区分大小 ...

  10. Cmd Markdown 编辑阅读器

    我们理解您需要更便捷更高效的工具记录思想,整理笔记.知识,并将其中承载的价值传播给他人,Cmd Markdown 是我们给出的答案 -- 我们为记录思想和分享知识提供更专业的工具. 您可以使用 Cmd ...