原文:快速构建Windows 8风格应用4-FlipView数据控件

本篇博文主要介绍为什么使用FlipView控件、什么是FlipView控件、如何使用FlipView控件和FlipView控件最佳实践。

为什么使用FlipView控件?

如果我们开发一个购物类应用,希望在产品详细页面中显示产品的多个图像,对于这种小型数据集合可以使用FlipView控件。

如果我们开发一个房地产类应用,希望针对每间房屋显示许多图像,以展示各个房间,对于这种中型数据集合可以包括FlipView控件,以便让用户可以跳转到特定的照片。

什么是FlipView控件?

FlipView数据控件用来显示数据集合,用户可以通过滑动在其子窗体间切换,当然也可以点击左右或者上下两侧的切换按钮在其子窗体间切换。FlipView控件继承自ItemsControl类。

下面我们来看FlipView控件中几个重要属性和事件:

1)  ItemsSource属性:获取或设置生成其内容的对象源;

2)  ItemTemplate属性:获取或设置显示项的模版;

3)  ItemTemplateSelector属性:选择生效的模版(一般在定义了多个ItemTemplate时使用);

4)  ItemsPanel属性:获取或设置放置内容的面板(通常用来改变FlipView控件的切换方向);

5)  SelectionChanged事件:当选择的项改变时触发;

如何使用FlipView控件?

对于我们开发者如何在应用程序中使用FlipView控件呈现数据呢?

让我们看一下三种常用的FlipView呈现数据效果和如何在代码中如何实现这些效果:

1)  默认方式,左右浏览数据。

XAML中声明FlipView控件,设置DataTemplate,其中Image控件用于显示图片、TextBlock控件用于显示图片的标题。具体代码如下:

C#代码中将数据绑定到FlipView控件的ItemSource属性上。具体代码如下:

2)  上下浏览数据

XAML中在声明的FlipView控件中设置ItemsPanel属性,值为vertical。具体如何设置如下图代码中所示:

C#代码中将数据绑定到FlipView控件的ItemSource属性上。具体代码如下:

3)  添加上下文指示器控件,以便用户可以直接跳转到特定的项目

XAML中首先需要声明一个FlipView控件,关于FlipView中属性并没有特别的设置,基本和上面代码相同。具体代码如下:

此处唯一特殊之处是还需要声明一个ListBox控件,用来呈现指示器的效果。

声明的ListBox控件如下,需要注意的是SelctedItem进行了一个双向绑定,是将FlipView3的SelectedItem属性值绑定到ListBox的SelctedItem属性上,其中ListBox控件的ItemContainerStyle属性引用了一个名字为ContextControlItemStyle静态资源,Style属性引用了一个名字为ListBoxStyle1静态资源。

静态资源定义在<Page.Rescource>中,具体代码如下:

C#代码中将数据绑定到FlipView控件的ItemsSource属性上和ListBox的ItemsSource属性上。具体代码如下:

FlipView控件最佳实践

建议:

1)  当集合中的项不能提供足够的上下文信息让用户知道他们当前在哪个集合中时,使用上下文指示器提示用户。

2)  给用户指示,提醒他们在集合中的当前项。

3)  裁剪有提示项的数量和特定的场景。

4)  允许用户跳转到指定的项。

避免:

1)不要使用FlipView呈现大型的集合,可使用ListView和GridView控件来呈现。

快速构建Windows 8风格应用4-FlipView数据控件的更多相关文章

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

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

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

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

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

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

  4. 快速构建Windows 8风格应用13-SearchContract构建

    原文:快速构建Windows 8风格应用13-SearchContract构建 本篇博文主要介绍如何在应用中构建SearchContract,相应的原理已经在博文<快速构建Windows 8风格 ...

  5. 快速构建Windows 8风格应用9-竖直视图

    原文:快速构建Windows 8风格应用9-竖直视图 本篇博文主要介绍竖直视图概览.关于竖直视图设计.如何构建竖直视图 竖直视图概览 Windows 8为了支持旋转的设备提供了竖屏视图,我们开发的应用 ...

  6. 快速构建Windows 8风格应用10-设备方向

    原文:快速构建Windows 8风格应用10-设备方向 本篇博文主要介绍常用支持Windows 8操作系统设备的方向.如何获取当前设备方向.DisplayProperties类. 常用支持Window ...

  7. 快速构建Windows 8风格应用11-语义缩放

    原文:快速构建Windows 8风格应用11-语义缩放 本篇博文主要介绍为什么需要语义缩放.什么是语义缩放.如何构建语义缩放. 为什么需要语义缩放 如果用过Windows 8系统的开发者都知道在Win ...

  8. 快速构建Windows 8风格应用12-SearchContract概述及原理

    原文:快速构建Windows 8风格应用12-SearchContract概述及原理 本篇博文主要介绍Search Contract概述.Search Contract面板结构剖析.Search Co ...

  9. 快速构建Windows 8风格应用7-页面视图概览

    原文:快速构建Windows 8风格应用7-页面视图概览 本篇博文主要介绍Windows 8风格应用中包含哪些视图.Visual Studio 2012和模拟器中如何开发和调试不同的页面视图.页面视图 ...

随机推荐

  1. WebStorm的compass配置

    在webstorm中配置compass WebStorm是功能强大的前端开发专用IDE,拥有即时编辑(chrome).自动完成.debugger.Emmet.HTML5 支持.JSLint.Less. ...

  2. [Python]新手写爬虫全过程(转)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  3. JSP通用7动作命令

    JSP通用7动作命令 1.jsp:forward指令    运行页面转向.将请求处理转发到下一个页面 2.jsp:param指令    用于传递參数 3.jsp:include指令    用于动态引入 ...

  4. Centos使用dd命令制作U盘启动盘 wodim刻录光盘

    首先格式化U盘:使用fdisk -l 查看U盘到挂载点,如我的为/dev/sdb1.卸载U盘,运行格式化命令:mkfs.vfat  /dev/sdb1 然后又一次挂载U盘,開始制作启动盘: # dd ...

  5. Linux Kernel系列 - 黄牛X内核代码凝视

    Hanks.Wang - 专注于操作系统与移动安全研究.Linux-Kernel/SELinux/SEAndroid/TrustZone/Encription/MDM    Mail - byhank ...

  6. JavaEE(20) - Web层和EJB的整合(Entity Manager)

    1. 使用容器管理的EntityManager 2. 使用应用程序管理的EntityManager 3. 使用ThreadLocal保证EntityManager的线程安全 4. EAO封装JPA 5 ...

  7. 《TCP/IP具体解释》读书笔记(18章)-TCP连接的建立与中止

    TCP是一个面向连接的协议.不管哪一方向还有一方发送数据之前.都必须在两方之间建立一条连接.这样的两端间连接的建立与无连接协议UDP不同.UDP向还有一端发送数据报时,无需不论什么预告的握手. 1.建 ...

  8. hadoop 开始时间datanode一个错误 Problem connecting to server

    刚刚配置hadoop,namenode常开,但datanode但保留了错误.但不启动: 2014-05-04 10:43:33,970 WARNorg.apache.hadoop.hdfs.serve ...

  9. asp.net学习之GridView事件、GridViewRow对象

    原文:asp.net学习之GridView事件.GridViewRow对象 1. GridView控件的事件 GridView有很多事件,事件可以定制控件的外观或者行为.事件分为三类     1.1 ...

  10. Tyvj P1015 公路骑 (DP)

     叙述性说明 Description 一个特殊的单行道都在每公里公交车站.们乘坐汽车的公里使来付费. 比如例子的第一行就是一个费用的单子. 没有一辆车子行驶超过10公里.一个顾客打算行驶n公里(1 ...