原文:快速构建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. HDU 1754 I Hate It (段树单点更新)

    Problem Description 很多学校更受欢迎的习惯. 老师们真的很喜欢问.从XX XX到其中,的是多少. 这让非常多学生非常反感. 无论你喜不喜欢,如今须要你做的是,就是依照老师的要求.写 ...

  2. 分布式中使用Redis实现Session共享(转)

    上一篇介绍了如何使用nginx+iis部署一个简单的分布式系统,文章结尾留下了几个问题,其中一个是"如何解决多站点下Session共享".这篇文章将会介绍如何使用Redis,下一篇 ...

  3. hdu 2067 兔子板

    兔子板 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submis ...

  4. Git是个好工具(转)

    Git是分布式版本控制系统,我们常用的版本控制工具还有SVN.这里就得区分下什么是分布式版本控制系统,什么是集中化的版本控制系统. 集中化的版本控制系统 集中化的版本控制系统( Centralized ...

  5. SAP HANA开发中常见问题- 基于SAP HANA平台的多团队产品研发

    大家都知道SAP HANA项目打包成Delivery Unit(缩写为DU).依照"官方"的开发模式,特别是整个团队仅仅使用一个HANA Instance进行项目开发,因为HANA ...

  6. 翻译器DIY它———算在英文文本中的单词数,字符和行数

    咳咳.这部分应该是序列化编译器DIY的,然而,在这样做DIY第一次使用前flex 为了练练手,对于后者的理解是有帮助. 在word 我经常看到一个字计数功能,因此,它是如何实现,当然,首先想到的是要经 ...

  7. Python入门教程 超详细1小时学会Python(转)

    假设我们有这么一项任务:简单测试局域网中的电脑是否连通.这些电脑的ip范围从192.168.0.101到192.168.0.200. 思路:用shell编程.(Linux通常是bash而Windows ...

  8. SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器

    原文:SSIS从理论到实战,再到应用(3)----SSIS包的变量,约束,常用容器 上期回顾: SSIS从理论到实战,再到应用(2)----SSIS包的控制流   首先我们来看看包里面的变量 SSIS ...

  9. 大数据系列修炼-Scala课程09

    Option使用和实现内幕源码揭晓 1.Option中的sealed关键字解析:Option中用了sealed,定义的case class与case object必须在同一个文件中.Option在模式 ...

  10. SD3.0四个协议解读

    前面的文章提到过SD卡主要分为两个操作模式,一是初始化和识别操作模式.还有一种就是这篇文章须要分析的传输数据模式啦. 传输数据模式: 传输数据模式主要有六种状态,各自是Stand-by状态.Trans ...