原文:快速构建Windows 8风格应用19-基础控件II

本篇博文接着上篇博文《快速构建Windows 8风格应用18-基础控件I》介绍开发Windows 8风格应用中常用控件。

Slider

Slider控件常见的效果图:

如何在XAML代码中声明Slider控件呢?代码如下:

Value属性值表示Slider控件显示的初始值,应用运行状态下我们也可以拖动改变Slider控件的值。

C#代码中声明Slider控件。代码可以如下:

可以通过ValueChanged事件获取Slider控件当前的Value值

关于Slider类详细说明可以参考: Slider Class

Image

Image控件常见的效果图:

如何在XAML代码中声明Slider控件呢?代码如下:

Image控件Source属性表示图片路径,Stretch表示图片伸展属性(包含Fill、None、Uniform、UniformToFill四个值)。

C#代码中声明Image控件。代码可以如下:

注意:使用C#代码显示图片,必须使用绝对路径。Image.Source property

关于Image类详细说明可以参考:Image Class

Tooltip:

Tooltip控件常见的效果图:

当我们把鼠标停靠在图片上时,出现提示框。

如何在XAML代码中控件声明Tooltip控件呢?代码如下:

这里以Image控件为例,其实其他控件中都可以去声明TooTipService。TooTipService的TooTip属性表示提示框显示的信息,Placement表示提示框显示的位置。

C#代码中声明Tooltip控件添加到某一控件中。代码可如下:

SetToolTip方法和SetPalcement方法的第一个参数都是传递某一控件对象。

关于Tooltip类详细说明可以参考:Tooltip Class

Popup

Popup控件常见的效果图:

效果图1:

XAML代码设计如下:

代码中通过点击Button来显示Popup,Popup中放置一个Border控件,Border中包含了一个TextBlock和Button控件。

C#代码中:

通过设置Popup控件的IsOpen属性值来控制Popup是否显示(True为显示,False为隐藏)。

效果图2:

点击“Show Popup(with Parent)”按钮,弹出Popup。

Xaml代码如下:

Name为“ParentedPopup”的Popup控件中声明了<local:PopupInputConetnt>的自定义控件。Button的Click事件控制Popup是否进行显示。

PopupInputConetnt自定义控件XAML代码为:

效果图3:

点击“Show Popup(no Parent)”按钮,弹出Popup。

XAML代码:

C#代码:

代码中首先声明Popup对象nonParentPopup,将自定义控件PopupInputContent对象赋值给nonParentPopup的Child属性。

效果图4:

点击“Show Popup((with light dismiss)”按钮,弹出Popup。

XAML代码:

代码中将Popup的IsLightDismissEnabled属性值设置为True,表示当用户点击或触摸屏幕的任何位置,不包含Popup的位置,Popup控件是否消失。

效果图5:

点击“Show Popup(with light dismiss and animations)”按钮,弹出Popup并伴有动画效果

XAML代码中:

代码中将Popup的IsLightDismissEnabled属性值设置为True,并声明<PopupThemeTransition />Popup弹出时的动画。

效果图6:

点击“Show Popup(simulating Settings)”按钮,屏幕右侧弹出Popup并伴有动画效果

XAML代码中:

代码中将Popup的IsLightDismissEnabled属性值设置为True,并声明<PopupThemeTransition />Popup弹出时的动画。

通过C#代码来控制Popup从屏幕右侧弹出:

通过Popup的HorizontalOffset来控制弹出的水平方向位置。

MSDN提供了Popup示例代码:XAML Popup sample

关于Popup类详细说明可以参考:Popup Class

PasswordBox

PasswordBox控件常见的效果图:

XAML代码中:

PasswordBox控件中输入密码只能是一行不能换行。可以通过PasswordChar属性指定密码字符,MaxLength属性指定用户最多可以输入的字符数量,IsPasswordRevealButtonEnabled属性值为True时显示PasswordBox控件中内置按钮,用户触摸或点击该按钮时可显示密码文本,当用户释放该按钮时,密码会自动重新隐藏。

如何在C#代码中声明PasswordBox控件呢?代码如下:

关于PasswordBox类详细说明可以参考:PasswordBox Class

快速构建Windows 8风格应用19-基础控件II的更多相关文章

  1. 快速构建Windows 8风格应用18-基础控件I

    原文:快速构建Windows 8风格应用18-基础控件I 本篇博文主要介绍Windows 8风格应用开发中常用的几种基础控件. ProgressRing: ProgressRing控件常见的效果图: ...

  2. 快速构建Windows 8风格应用17-布局控件

    原文:快速构建Windows 8风格应用17-布局控件 本篇博文主要介绍三种常用的布局控件:Canvas.Grid.StackPanel. Panel类是开发Windows 8 Store应用中一个重 ...

  3. 快速构建Windows 8风格应用4-FlipView数据控件

    原文:快速构建Windows 8风格应用4-FlipView数据控件 本篇博文主要介绍为什么使用FlipView控件.什么是FlipView控件.如何使用FlipView控件和FlipView控件最佳 ...

  4. 快速构建Windows 8风格应用5-ListView数据控件

    原文:快速构建Windows 8风格应用5-ListView数据控件 本篇博文主要介绍什么是ListView数据控件.如何构建ListView数据控件. 什么是ListView数据控件? 1)  Li ...

  5. 快速构建Windows 8风格应用6-GridView数据控件

    原文:快速构建Windows 8风格应用6-GridView数据控件 本篇博文主要介绍什么是GridView数据控件.如何构建常用的GridView数据呈现样式. 什么是GridView数据控件? G ...

  6. 快速构建Windows 8风格应用21-构建简单媒体播放器

    原文:快速构建Windows 8风格应用21-构建简单媒体播放器 本篇博文主要介绍如何构建一个简单的媒体播放器. <快速构建Windows 8风格应用20-MediaElement>博文中 ...

  7. 快速构建Windows 8风格应用32-构建辅助磁贴

    原文:快速构建Windows 8风格应用32-构建辅助磁贴 引言 Windows Phone中,我们开发者可能会开发的一个功能点是将数据列表中某一项"Pin To Start(固定到开始屏幕 ...

  8. 快速构建Windows 8风格应用15-ShareContract构建

    原文:快速构建Windows 8风格应用15-ShareContract构建 本篇博文主要介绍共享数据包.如何构建共享源.如何构建共享目标.DataTransferManager类. 共享数据包 Da ...

  9. 快速构建Windows 8风格应用14-ShareContract概述及原理

    原文:快速构建Windows 8风格应用14-ShareContract概述及原理 本篇博文主要介绍Share Contract概述.Share Contract实现原理.实现Share Contra ...

随机推荐

  1. Team Services and Team Foundation Server官方资料入口

    Team Foundation Server msdn 中文文档入口 Team Services or Team Foundation Server www.visualstudio.com 英文文档 ...

  2. Java Web整合开发(14) -- Struts 1.x 概述

    整合Spring与Struts1的三种方法总结 无论用那种方法来整合,第一步就是要装载spring的应用环境,有三种方式: #1. struts-config.xml <?xml version ...

  3. JAVA该队列中的数组,圆阵队列,链队列

    /** * 文件名:QueueText.java * 时间:2014年10月22下午9:05:13 * 笔者:维亚康姆维修 */ package chapter3; /** * 类名:ArrayQue ...

  4. PHP上传文件(学习)

    <?php if(isset($_FILES['upfile'])) { if (is_uploaded_file($_FILES['upfile']['tmp_name'])){ $upfil ...

  5. extjs_09_定义自己的页面组件

    1.项目截图 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYWRhbV93enM=/font/5a6L5L2T/fontsize/400/fill/I0J ...

  6. 减小Cookie体积

    HTTP coockie能够用于权限验证和个性化身份等多种用途.coockie内的有关信息是通过HTTP文件头来在webserver和浏览器之间进行交流的.因此保持coockie尽可能的小以降低用户的 ...

  7. DICOM:DICOM3.0网络通信协议(延续)

    题记: 在过去的一年中一直坚持周末博客,整理工作与休闲比的点点滴滴. 新知识点.新技术的涉猎会单独成文,对于与DICOM相关的知识统一放在了DICOM医学图像处理 专栏里,事实上DICOM英文全称是D ...

  8. poj 3400 Dropping the stones

    //next_permutation全阵列 # include <stdio.h> # include <algorithm> # include <string.h&g ...

  9. TextView——setCompoundDrawables说明

    Drawable drawable = mContext.getResources().getDrawable(R.drawable.duringtime);  drawable.setBounds( ...

  10. SQL Server 2008杀数据库连接

    杀数据库连接: DECLARE @temp NVARCHAR(20) DECLARE myCurse CURSOR FOR SELECT spid FROM sys.sysprocesses WHER ...