Win10系列:C#应用控件基础8
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的更多相关文章
- Win10系列:JavaScript 控件的使用
向页面中添加的控件可分为两种类型:标准的HTML控件和WinJS库控件.其中标准的HTML控件是指HTML标准中定义的基本控件,如按钮和复选框:WinJS库控件是为开发基于JavaScript 的Wi ...
- WPF从我炫系列4---装饰控件的用法
这一节的讲解中,我将为大家介绍WPF装饰控件的用法,主要为大家讲解一下几个控件的用法. ScrollViewer滚动条控件 Border边框控件 ViewBox自由缩放控件 1. ScrollView ...
- WPF 模仿 UltraEdit 文件查看器系列一 用户控件
WPF 模仿 UltraEdit 文件查看器系列一 用户控件 运行环境:Win10 x64, NetFrameWork 4.8, 作者:乌龙哈里,日期:2019-05-10 章节: 起步 添加用户控件 ...
- C#控件系列--文本类控件
C#控件系列--文本类控件 文本类控件主要包含Label.LinkLabel.Button.TextBox以及RichTextBox. Label 功能 Label用来 ...
- 重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree
原文:重新想象 Windows 8 Store Apps (17) - 控件基础: Measure, Arrange, GeneralTransform, VisualTree [源码下载] 重新想象 ...
- 重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试
原文:重新想象 Windows 8 Store Apps (16) - 控件基础: 依赖属性, 附加属性, 控件的继承关系, 路由事件和命中测试 [源码下载] 重新想象 Windows 8 Store ...
- WPF编游戏系列 之四 用户控件
原文:WPF编游戏系列 之四 用户控件 在上一篇<WPF编游戏系列 之三 物品清单>中,对物品清单进行了演示,其中反复用到了同一组控件(如下图),而且 颜昌钢也指出在3.2. ...
- Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView、TTreeViewItem
Delphi XE2 之 FireMonkey 入门(44) - 控件基础: TTreeView.TTreeViewItem TScrollBox -> TCustomTreeView -> ...
- Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid、TGrid
Delphi XE2 之 FireMonkey 入门(43) - 控件基础: TStringGrid.TGrid TStringGrid.TGrid 都是从 TCustomGrid 继承; 区别有:1 ...
- Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox、TComboEdit
Delphi XE2 之 FireMonkey 入门(42) - 控件基础: TComboBox.TComboEdit TListBox 有两个兄弟 TComboListBox.TComboEditL ...
随机推荐
- NIO学习资料
五大IO模型 https://jiges.github.io/2018/02/07/%E4%BA%94%E5%A4%A7IO%E6%A8%A1%E5%9E%8B/ Getting started wi ...
- 取数游戏II
传送门 #include <bits/stdc++.h> using namespace std; #define ll long long #define re register #de ...
- JS基本事件(小记)
一. 事件的概念种类及作用(一) 概念:通常鼠标或热键的动作我们称之为事件(event),热键引发的一连串程序的动作,称之为事件驱动(event Driver).而对事件进行处理的程序或函 ...
- fiddler学习总结--手机端(APP/微信小程序)抓包
步骤一.手机和电脑要在同一个局域网中 步骤二.完成fiddler的基本配置,与web端抓包一样: TOOLS-->options-->connections-->1.设置端口:2.勾 ...
- hdu5517 二维树状数组
题意是给了 n个二元组 m个三元组, 二元组可以和三元组 合并生成3元组,合并条件是<a,b> 与<c,d,e>合并成 <a,c,d> 前提是 b==e, 如果存在 ...
- 2017.11.18 手把手教你学51单片机-点亮LED
In Doing We Learning 在操作中学习.如果只是光看教程,没有实际的操作,对编程语言的理解很空泛,所以决定从单片机中学习C语言. #include<reg52.h> ...
- app 开发
移动APP开发 ios Android 中国人写的 MUI 布局框架 HTML5plus 硬件驱动调用(打开摄像头,闪光灯,震动) 和 系统调用(打开相册,通讯录,message) http:/ ...
- Node.js基础学习一之Get请求
本人从事的是前端开发,这段时间公司开发项目比较少所以就想着学点东西,然后就想到了Node.js ,跟着菜鸟教程学了点,不过我觉得最好的学习方法是带着需求来学习. 其实和服务端打交道无非就是能有一个可以 ...
- LSTMs 长短期记忆网络系列
RNN的长期依赖问题 什么是长期依赖? 长期依赖是指当前系统的状态,可能受很长时间之前系统状态的影响,是RNN中无法解决的一个问题. 如果从(1) “ 这块冰糖味道真?”来预测下一个词,是很容易得出“ ...
- CSS 页面布局、后台管理示例
CSS 页面布局.后台管理示例 页面布局 1.头部菜单 2.中间内容/中间左侧菜单 3.底部内容 <div class='pg-header'> <div style='width: ...