WP8.1学习系列(第九章)——透视Pivot开发指南
Windows Phone 8 的 Pivot 控件
2014/6/18
适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1
Windows Phone Pivot 应用提供了一种快速管理视图或页面的方法。该方法可以用于筛选大型数据集、查看多个数据集或切换应用视图。例如,在页面上从左至右轻拂或平移,可以前进到内容的下一个页面。
本主题包括以下部分。
- Pivot 控件概述
- 导航支持
- Pivot 应用功能
- 相关主题
在应用的底部是 Pivot 控件,该控件本质上是次要控件(称为 PivotItem 控件)的容器。PivotItem 控件包含单个页面的内容,如每个页面中的控件、网格或链接。有关 Pivot 控件体系结构的更多信息,请参见 Windows Phone 8 的 Pivot 控件体系结构。
Pivot 控件内置了对触控式交互和导航的支持。因为默认情况下已经启用了手势功能,所以您不必在应用中实施任何特殊的手势功能。Pivot 控件支持以下手势和导航效果:
水平移动(点击并向左/向右拖动)
水平轻拂(点击并向左/向右快速滑动)
导航托管的控件 - 例如,可以点击链接,可以滚动列表
下表列出了在 Pivot 应用中所支持的一系列功能。
功能 |
描述 |
---|---|
设计时体验 |
您可以使用 Visual Studio 或 Blend for Visual Studio 中的设计图面执行诸如添加其他 PivotItem 控件和在项视图之间切换之类的操作。 |
匹配 Windows Phone Pivot 体验 |
您应用的外观和响应体验可能与集成的 Windows Phone Pivot 体验相似。 |
内置的轻拂和手势支持 |
Pivot 应用已提供对常见导航的手势支持。您不必在您的应用中实现诸如拖动、轻拂或点击之类的手势。 |
对已更改选择的响应 |
只要 PivotItem 发生更改,您就可以在代码中订阅 SelectionChanged 事件来对该更改做出响应。 |
按需加载内容 |
若要提高 Pivot 应用的性能,您可以按需加载 Pivot 控件内容,而不是在启动时就加载所有内容。 |
采用编程方式选择哪个PivotItem 位于视图中 |
您可以采用编程方式为用 |
Windows Phone 8 的 Pivot 控件体系结构
2014/6/18
适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1
Pivot 应用包含一个基础 Pivot 控件,该控件托管内容的各个页面。PivotItem 控件负责显示页面中的内容。您可以使用设计器或采用编程的方式来处理这些元素。本主题详细介绍 Pivot 控件和 PivotItem 控件的体系结构以及具体分析。
本主题包括以下部分。
- Pivot 控件
- PivotItem 控件
- 相关主题
Pivot 控件是用于 Pivot 应用的基础控件,该控件包含两个不同的层。每个层都包含在用作 Pivot 控件的布局根的 Grid 控件中。
层 |
类型 |
描述 |
---|---|---|
标题列表元素 |
PivotHeadersControl |
该元素负责显示 Pivot 项的标题。 |
Pivot 项展示区 |
ItemsPresenter |
该 ItemsPresenter 控件显示集合中的一个 PivotItem 控件。 |
标题列表元素
显示标题,直到超过突出显示当前标题的控件的宽度。 如果没有足够的标题来占满该控件的全部宽度,则标题不会循环并且每个标题只显示一次。
Pivot 项展示区
这是一个标准的 ItemsPresenter 控件,它负责充当项内容的占位符。它将包含 PivotItem 控件。
PivotItem 控件显示单个查看页面中的内容。PivotItem 控件是在 XAML 中作为标准 ItemsControl 元素定义的。PivotItem 控件包含一个层,该层包含在用作 Pivot 控件的布局根的 Grid 控件中。
层 |
类型 |
描述 |
---|---|---|
内容 |
ContentPresenter |
该 ContentPresenter 控件显示 PivotItem 内容。 |
内容
这是一个标准的 ContentPresenter 元素,用于充当内容的占位符。
在 Pivot 控件中只能定义 PivotItem 控件。如果您尝试将另一个元素放到 Pivot 控件中,该元素将被包装到PivotItem 控件中。可以在 XAML 代码中指定 PivotItem 控件的内容,也可以采用编程方式通过 Content 属性添加该控件的内容。
如何为 Windows Phone 8 创建 Pivot 应用
2014/6/18
适用于:Windows Phone 8 和 Windows Phone Silverlight 8.1 | Windows Phone OS 7.1
在 Visual Studio 中,有多种在 Windows Phone 中创建 Pivot 体验的方法:
创建新项目时,可以使用名为“Windows Phone Pivot 应用”的自定义模板。该模板将预填充内容,您可以相应地修改该模板。
在 Visual Studio 中,可以向工具箱添加 Pivot 控件并且可以轻松放置到您的项目中。
您可以向现有项目添加“Windows Phone Pivot 页面”。
本主题介绍如何通过向现有项目添加“Windows Phone Pivot 页面”来创建 Pivot 应用。您可以在 Windows Phone 开发人员中心的示例库中找到 Pivot 应用示例。
本主题包括以下部分。
- 创建基本 Pivot 应用
- 向 Pivot 项中添加控件和内容
- 相关主题
在这部分中,您将在 Visual Studio 中创建一个 Pivot 应用。此过程将向您的项目中添加一个“Windows Phone Pivot 页面”,该页面预填充一个 Pivot 控件和一些 PivotItem 控件。您将另外添加一个 PivotItem。
创建基本 Pivot 应用的步骤
从“开始”菜单启动 Visual Studio。
通过选择“文件” | “新建项目”菜单命令来创建一个新项目。
将显示“新建项目”窗口。展开“Visual C#”模板,然后选择“Windows Phone”模板。
选择 Windows Phone 应用 模板。填写所需的项目“名称”。
单击“确定”。将创建一个新项目并在 Visual Studio 设计器窗口中打开 MainPage.xaml。
在“解决方案资源浏览器”中,右键单击该项目,单击“添加”,然后单击“新建项”。选择“Windows Phone Pivot 页面”,然后单击页面底部的“添加”。 对该项目使用默认名称 PivotPage1.xaml。
在 MainPage.xaml 中,向名为 ContentPanel 的网格中的 XAML 代码中添加以下内容:
XAML<HyperlinkButton Content="Pivot Application Example" Height="57" HorizontalAlignment="Left" Margin="49,116,0,0" Name="hyperlinkButton1" VerticalAlignment="Top" Width="383" NavigateUri="/PivotPage1.xaml"/>
注意: 创建此超级链接的目的是为您的应用创建一个起点。在应用程序运行时,用户将点按此超级链接以前移到此 Pivot 体验。您不必使用超级链接作为 Pivot 应用的默认条目机制;超级链接仅用作本练习中使用的一个示例。可以将 Pivot 体验配置为当用户启动应用时立即可见。
在 PivotPage1.xaml 中,XAML 代码中的以下代码应该可见:
XAML<!--LayoutRoot is the root grid where all page content is placed.--><Grid x:Name="LayoutRoot" Background="Transparent"><!--Pivot Control--><controls:Pivot Title="MY APPLICATION"><!--Pivot item one--><controls:PivotItem Header="item1"><Grid/></controls:PivotItem><!--Pivot item two--><controls:PivotItem Header="item2"><Grid/></controls:PivotItem></controls:Pivot></Grid>
注意: 前面的代码将创建一个 Pivot 控件并为其分配一个标题。接下来,您将创建两个 PivotItem 控件,每个控件分配一个标头。对于此项目,我们将创建三个 PivotItem 控件,在下一步中将再创建一个PivotItem。
在 <!--Pivot item two--> 部分后面,通过以下代码再添加一个 PivotItem 控件:
XAML<!--Pivot item three.--><controls:PivotItem Header="item3"><Grid/></controls:PivotItem>
在本节中,您将向每个 PivotItem 控件中添加各种控件和内容。
向第一个 Pivot 项中添加内容
对于第一个 PivotItem,您将添加包含环绕文字的 TextBlock 控件。
向第一个 Pivot 项添加内容的步骤
向第一个 Pivot 项 <controls:PivotItem Header="item1"> 后面的 XAML 代码中添加以下代码。您必须首先删除现有的 <Grid/> 标记。
XAML<Grid><!--Added TextBlock control with formatted text.--><TextBlockTextWrapping="Wrap"Style="{StaticResource PhoneTextLargeStyle}"><Run>This is a simple sample for the pivot control adding text.</Run><LineBreak/><LineBreak/><Run>You can put any content you want here...</Run></TextBlock> </Grid>
注意: 第一个 PivotItem 内容应该类似于本主题底部所示的插图。
向第二个 Pivot 项中添加内容
对于这个页面,您将添加包含背景图像和换行文本的分类内容。对于本主题,使用示例图像 samplePhoto.jpg。您必须相应更改下面的代码以容纳您的图片。
向第二个 Pivot 项添加内容的步骤
向第二个 Pivot 项代码行 <controls:PivotItem Header="item2"> 后面的 XAML 代码中添加以下代码。您必须首先删除现有的 <Grid/> 标记。
XAML<!--Added background image and text content.--><BorderBorderBrush="{StaticResource PhoneForegroundBrush}"BorderThickness="{StaticResource PhoneBorderThickness}"><Grid><ImageSource="samplePhoto.jpg"Stretch="UniformToFill"/><TextBlockText="Here is some generic content to take up space."TextWrapping="Wrap"Style="{StaticResource PhoneTextExtraLargeStyle}" /></Grid></Border>
注意: 第二个 PivotItem 内容应该类似于本主题底部所示的插图。
向第三个 Pivot 项中添加内容
对于最后一个 PivotItem,您将在 ListBox 控件内放置一系列字符串文本值。目的是表明您能够导航托管的控件。用户将能够上下垂直平移列表内容。
向第三个 Pivot 项添加内容的步骤
在 PivotPage1.xaml 中,向 XAML 代码中添加以下命名空间声明:
XAMLxmlns:sys="clr-namespace:System;assembly=mscorlib"
注意: 引用此程序集是向 ListBox 控件中添加多行字符串文本。
向第三个 PivotItem 代码行 <controls:PivotItem Header="item3"> 后面的 XAML 代码中添加以下代码。您必须首先删除现有的 <Grid/> 标记。
XAML<!--This code adds a series of string text values.--> <Grid><ListBox FontSize="{StaticResource PhoneFontSizeLarge}"><sys:String>This</sys:String><sys:String>item</sys:String><sys:String>has</sys:String><sys:String>a</sys:String><sys:String>short</sys:String><sys:String>list</sys:String><sys:String>of</sys:String><sys:String>strings</sys:String><sys:String>that</sys:String><sys:String>you</sys:String><sys:String>can</sys:String><sys:String>scroll</sys:String><sys:String>up</sys:String><sys:String>and</sys:String><sys:String>down</sys:String><sys:String>and</sys:String><sys:String>back</sys:String><sys:String>again.</sys:String> </ListBox> </Grid>
注意: 第三个 PivotItem 应该类似于本主题底部所示的插图。
通过选择“调试” | “启动调试”菜单命令运行应用。这将打开模拟器窗口并启动该应用,或者部署到您选择的设备。
WP8.1学习系列(第九章)——透视Pivot开发指南相关推荐
- WP8.1学习系列(第八章)——透视Pivot设计指南
在本文中 描述 应做事项和禁止事项 其他使用指南 相关主题 重要的 API Pivot class (XAML) PivotItem class (XAML) Windows Phone 应用:具有透 ...
- WP8.1学习系列(第一章)——添加应用栏
做过android开发的同学们应该都知道有个ActionBar的头部操作栏,而wp也有类似的一个固定在app页面里通常拥有的内部属性,就是应用栏.以前叫做ApplicationBar,现在wp和win ...
- WP8.1学习系列(第二章)——Toast通知
Toast 通知概述(Windows 运行时应用) 你的应用要想通过 Toast 通知通信,必须在应用的清单文件中声明它支持 Toast.Toast 通知可包含文本,并且 Windows 上的 Toa ...
- 《Go语言圣经》学习笔记 第九章 基于共享变量的并发
<Go语言圣经>学习笔记 第九章 基于共享变量的并发 目录 竞争条件 sync.Mutex互斥锁 syn.RWMutex读写锁 内存同步 syn.Once初始化 竞争条件检测 示例:并发的 ...
- 《SysML精粹》学习记录--第九章
<SysML精粹>学习记录 第九章:参数图 参数图简介 参数图元素 小结 第九章:参数图 参数图简介 参数图是一种独特的SysML图,它用于说明系统的约束.这些约束一般以数学模型的方式 ...
- unity学习记录第九章-过关和UI
unity学习记录第九章 要点 胜利过关 UI文本 笔记 1.创建一个脚本控制开门动画 2.在GameMannager里设置一个类类型的变量,用来传递方法 3.当列表中的收集物为0时开门通关 4.使用 ...
- CSAPP学习笔记——第九章 虚拟内存(一)内存陷阱
CSAPP学习笔记--第九章 虚拟内存(一)内存陷阱 int val; ... scanf("%d", val); 引用了错误的指针,scanf将val解释为一个地址,并试图将一个 ...
- Android音视频学习系列(七) — 从0~1开发一款Android端播放器(支持多协议网络拉流本地文件)
系列文章 Android音视频学习系列(一) - JNI从入门到精通 Android音视频学习系列(二) - 交叉编译动态库.静态库的入门 Android音视频学习系列(三) - Shell脚本入门 ...
- Android 渗透测试学习手册 第九章 编写渗透测试报告
第九章 编写渗透测试报告 作者:Aditya Gupta 译者:飞龙 协议:CC BY-NC-SA 4.0 在本章中,我们将学习渗透测试的最终和最重要的方面,撰写报告. 这是一个简短的章节,指导你在报 ...
最新文章
- iOS中的UIAlertView之新方法(弹出警告框)
- Android学习笔记(七):多个Activity和Intent
- 【安全牛学习笔记】SQLMAP- 自动注入
- React Native开发之npm start加速
- altium 去掉部分铺铜_干货|HFSS器件导入Altium进行PCB制作教程!!!
- 小米开源文件管理器MiCodeFileExplorer-源码研究(3)-使用最多的工具类Util
- 计算机视觉--GIST特征及其MATLAB代码实现
- asp.net用标签递归一颗树
- office professional 2010 key
- linux fork多进程 demo
- mac远程linux的ide,Jupyter notebook在mac:linux上的配置和远程访问
- 变成一列_VBA实践(6)--excel横向排列的数据表变成竖向排列
- CSS YUI reset
- 如何设置无线路由器?
- VulnHub-noob打靶记录
- Could not initialize class com.android.build.gradle.internal.VariantManager解决方案
- 小数化分数(C++)
- (转)帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
- 外卖商家入驻选择类目(JS数组)
- com.android.sr已停止,DCS-SDK(java)运行于Android4.4.2版本退出时提示程序停止运行