Windows Phone 的控件

转自:http://msdn.microsoft.com/zh-cn/library/windowsphone/develop/ff402561(v=vs.105).aspx#tag_navigation_controls

 

适用于: Windows Phone 8 | Windows Phone OS 7.1

Windows Phone 应用有几种不同类型的可用控件。本主题对 Windows Phone 应用可用的不同类型控件进行分类,并详细说明如何向这些控件添加内容。

 

 
导航控件

Windows Phone 应用基于页面模型,用户可在其中向前导航以浏览不同页面的内容。该模型基于一种应用框架控件,这种控件包含用户可借以导航的页面控件。页面包含布局控件,布局控件则包含其他控件。有关框架和页面导航的更多信息,请参见 Windows Phone 应用内导航。下表列出了用于为 Windows Phone 应用提供导航的控件。

控件

位置

注释

PhoneApplicationFrame

Microsoft.Phone 程序集

Windows Phone 应用的主控件。该控件支持导航到页面和从该页面导航。

PhoneApplicationPage

Microsoft.Phone 程序集

封装可由 PhoneApplicationFrame 导航到的内容。

下图演示框架和页面模型。

Controls - Frame Page

 

 
布局和分组控件

包含其他控件的控件通常称为布局控件。布局控件是其他控件和 Visual 对象的容器。顾名思义,布局控件用于把其所包含的对象放置在屏幕上。在页面内,布局控件相当于应用的布局根。UI 中的所有其他对象都包含在此根中。可根据需要在布局根内使用其他布局控件。创建新的 Windows Phone 应用时,会创建出相当于布局根的 Grid 控件。布局根包含相当于标题面板和内容面板的其他布局控件。您将向内容面板添加其他布局控件。此外,您在为应用选择布局控件时,应考虑您的应用是否支持横向或纵向。有关方向的更多信息,请参见快速入门:Windows Phone 的屏幕方向

大多数布局控件派生自 Panel 类。派生自面板的部分布局控件示例有 StackPanelCanvasGrid。还有另外两个控件:PanoramaPivot,您可以使用它们为手机应用布局。PivotPanorama 控件派生自 ItemsControl,而且是专为在 Windows Phone 应用中使用而创建。这些控件不同于典型的项控件,因为它们应包含少量的项,而典型的项控件可能包含较大的列表。这些控件允许用户方便地在项之间滑动和拖移。

下表列出了在 Windows Phone 应用中,用于布局和元素分组的控件。

控件

位置

注释

Border

System.Windows 程序集

为另一控件提供边框和/或背景。

Canvas

System.Windows 程序集

提供一个图面用于在画布的特定坐标处显示子元素。

ContentControl

System.Windows 程序集

表示含有单个子元素的容器控件。子元素是对象,因此它可以包含含有其他子元素的布局控件。

Grid

System.Windows 程序集

提供一个由行和列组成的图面来显示子元素。定义网格的行和列之后,可以向网格中的特定行或列分配对象。

Panorama

Microsoft.Phone.Controls 程序集

创建可以从一边平移到另一边的项目全景视图。

Pivot

Microsoft.Phone.Controls 程序集

提供用于管理应用内的大型数据集的视图的快速方法。该控件可以用作筛选较大的集或在视图之间切换的导航界面。

StackPanel

System.Windows 程序集

提供一个图面来沿水平或垂直线显示子元素。

VirtualizingStackPanel

System.Windows 程序集

提供用于排列屏幕中可见内容的堆叠面板控件,可根据需要创建其他 UI 项。使用较大的项集时,VirtualizingStackPanel 比 StackPanel 的性能好。

ScrollViewer

System.Windows 程序集

提供一个可滚动图面来显示子元素。

有关 Windows Phone 布局控件和布局系统的更多信息,请参见Windows Phone 的布局

下图显示在纵向和横向情况下使用的部分布局控件。在该图中,StackPanelCanvas 嵌套在 Grid 中,使用的是基于列和行的布局系统。

Controls - Layout Controls

下图演示 Panorama 控件,以及如何使用它横向显示视图。

Controls - Panorama

 

 
文本控件

文本控件通常显示字符串内容。针对不同的目的有不同类型的文本控件。有关更多信息,请参见快速入门:Windows Phone 的文本。下表列出 Windows Phone 应用的文本控件。

控件

位置

注释

TextBlock

System.Windows 程序集

使用它显示简单的只读文本片段。使用 Text 属性设置内容。

TextBox

System.Windows 程序集

通常用于较短的文本输入。但是,您也可以把它用于较大的多行文本输入。使用 Text 属性设置内容。

PasswordBox

System.Windows 程序集

掩盖用户输入的文本。使用 Password 属性设置内容,使用 PasswordChar 属性掩盖内容。

下图演示文本控件。

Controls - Text Controls

 

 
按钮和选择控件

按钮和选择控件使用户能够方便地选择项或导航应用。大多数按钮和选择控件派生自 ContentControl,这意味着使用 Content 属性向它们添加内容。Content 属性属于 Object 类型,因此对于内容控件可以包含的内容很少有限制。由于派生自 Object 的许多类都可以包含其他控件,因此可以在 ContentControl 中创建嵌套的内容。例如,可以将按钮的 Content 属性设置为包含图像和文本的 StackPanel。下表列出按钮控件。

控件

位置

注释

Button

System.Windows 程序集

响应用户输入并引发 Click 事件的控件。使用 Content 属性设置内容。

HyperlinkButton

System.Windows 程序集

表示显示超链接的按钮控件。单击 HyperlinkButton 后,用户将转到同一 Web 应用中的某个网页或当前应用外部的网页。使用 Content 属性设置内容,使用 NavigateUri 属性设置要导航到的 URL。

下表列出用户可用于指定选择的控件。

控件

位置

注释

CheckBox

System.Windows 程序集

表示用户可以选择或清除的控件。复选框还可以提供一种可选的不确定状态。使用 Content 属性设置内容。

RadioButton

System.Windows 程序集

使用户可以从一个选项列表中选择一个选项。分到同一个组的单选按钮是互斥的。使用 Content 属性设置内容。

Slider

System.Windows 程序集

表示一种控件,该控件使用户可以沿着一条轨道从一个值范围中进行选择。Value 属性确定轨道上的位置。

下图显示按钮和选择控件。

Controls - Button Selection

 

 
列表控件

下表列出可用于显示项列表的控件。

控件

位置

注释

ListBox

System.Windows 程序集

显示一个包含多个项的列表,用户可通过单击选择其中的项。使用 ItemsItemsSource 属性设置内容。可使用 DataTemplate 自定义每一个项的外观。

说明注意:
如果您正在 Windows Phone 8 项目中工作,ListBox 控件不会在工具箱中显示。您可以使用 Windows Phone 8 应用中的 ListBox 控件,但是 LongListSelector 控件是用来显示项目列表的推荐控件。

LongListSelector

Microsoft.Phone 程序集

用于分组、显示和滚动较长的数据列表。您可以使用 ScrollTo 方法滚动到列表中的特定项。

下图演示 ListBox 控件显示项列表。

Controls - List Controls

 

 
图像、地图和媒体控件

要为 Windows Phone 应用生成丰富的用户界面,显示资源(如图像、地图和媒体内容)是一个重要部分。下表列出用于显示图像、地图和媒体文件的控件。

控件

位置

注释

Image

System.Windows 程序集

显示图像。使用 Source 属性设置内容。Windows Phone 应用支持 PNG 和 JPG 图像格式。

Map

Microsoft.Phone.Maps 程序集

显示地图。可以从工具箱把控件拖动至应用中,但是为使控件可以在运行时正常显示,必须为应用获取 ApplicationID 和 AuthenticationToken。有关更多信息,请参见如何将地图控件添加到 Windows Phone 8 中的页面中。您可以使用 CenterZoomLevel 属性控制地图居中和缩放的方式。

MediaElement

System.Windows 程序集

使用该控件播放音频和视频。使用 Source 属性设置内容。出于性能方面的考虑,不应在应用中使用该控件播放声音效果。最好使用 XNA Framework SoundEffect 类。

下图演示 ImageMapMediaElement 控件显示内容。

Controls - Image Map Media Controls

 

 
HTML 控件

可使用 WebBrowser 控件在应用中显示 HTML。下表列出用于显示 HTML 的控件。

控件

位置

注释

WebBrowser

Microsoft.Phone.Controls 程序集

显示呈现出的 HTML。使用 Source 属性设置内容。

下图演示 WebBrowser 控件显示内容。

Controls - Web Browser Control

 

进度和消息控件

设计良好的应用会向用户提供反馈,如较长时间操作的进度或表示已发生错误的消息。下表列出可用于向用户显示进度和消息的控件。

控件

位置

注释

ProgressBar

System.Windows 程序集

向用户显示操作的当前进度。可使用该控件报告操作的具体进度或简单地表示不确定模式下的进度。

Windows Phone OS 7.1 Windows Phone OS 7.1:在面向 Windows Phone OS 7.1 的应用中,在不确定模式下使用该控件可能会降低应用性能。Microsoft 具有一个不支持的替代方法,名为 PerformanceProgressBar。有关更多信息,请参见添加自定义的不确定进度栏

Popup

System.Windows 程序集

以覆盖现有内容形式显示内容。要临时显示可完成某具体任务的内容时,这很有用。通常,创建一个 UserControl,并将其设置为 PopupChild 属性。将 IsOpen 属性设置为 true,以显示 Popup 控件。

可替换 Popup 控件、但灵活性稍差的是 MessageBox 组件。

下图演示 Popup 控件,它在常规模式和不确定模式下包含 TextBlockButtonProgressBar

Controls - Popup Progress

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值