在开发Windows应用商店应用时,开发工具中已经封装了大量的控件供开发人员使用,而其中有一部分控件,例如FlipView、ToolTip、ListView以及SemanticZoom等控件中已经默认集成了内置的动画,这种集成在控件中的动画被称为控件动画,开发人员可根据不同的应用场景,选择具有动画效果的控件来满足对特定动画的使用需要,从而为用户提供良好的操作体验。例如,当应用从网络获取数据时,为避免页面长时间等待所造成的界面停顿给用户造成误解,可以在页面中使用不确定进度环来形象的告知用户,此时应用程序正在运行当中,而不确定进度环控件就是一个典型的内置了动画效果的控件。

在控件中内置动画可以为常用的控件提供更好的用户体验,由于在本章前面的第五章中已经对大部分的常用控件进行了详细的讲解,其中就包括了内置有动画效果的控件,所以在本小节中将不对前面所讲述过的控件进行重复的介绍。仅以具有典型特征的FlipView控件为例来说明控件动画的含义。

FlipView控件可以实现交替显示所包含的界面元素,并在交替显示的过程中提供过度动画效果,而最常见的情况是使用FlipView控件来展示一组图片就像播放一组幻灯片那样,用户可以通过单击FlipView自带的切换视图按钮或使用手势左右滑动屏幕来切换其中所展示的每一个图片。下面就来通过一个示例演示如何使用FlipView控件实现交替播放图片的动画效果。

在Visual Studio 2012中新建一个Windows应用商店的空白应用程序项目,并命名为FlipViewApp,在项目的Assets文件夹下添加3个名为“Flower.jpg”、“Mountain.jpg”、“Car.jpg”的图片文件,接着双击打开MainPage.xaml文件,在Grid元素中添加如下代码。

<!-- FlipView控件-->

<FlipView>

    <Image Source="Assets/Flower.jpg"/>

    <Image Source="Assets/Mountain.jpg"/>

    <Image Source="Assets/Car.jpg"/>

</FlipView>

在上面的代码中,添加了一个用于展示图片的FlipView控件,然后向FlipView控件中添加3个Image控件并通过设置这些控件的Source属性指定图片的路径,这样将可以通过FlipView控件展示3个Image控件中的图片。

按下F5运行程序,界面显示效果如图10-1所示。

 

图10-1 FlipView控件的交替播放动画效果

通过以上示例,读者会发现FlipView控件动画增强了用户与控件的交互,用户可以通过点击图片左右两侧的切换视图按钮,来欣赏自己感兴趣的图片。在图片交替播放的过程中,产生的动画效果自然流畅,给用户带来了良好的操作体验。

Windows Store App 控件动画的更多相关文章

  1. Windows Store App 过渡动画

    Windows Store App 过渡动画     在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...

  2. 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互

    [源码下载] 背水一战 Windows 10 (64) - 控件(WebView): 加载指定 HttpMethod 的请求, 自定义请求的 http header, app 与 js 的交互 作者: ...

  3. 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画

    [源码下载] 背水一战 Windows 10 (42) - 控件(导航类): Frame 动画 作者:webabcd 介绍背水一战 Windows 10 之 控件(导航类) Frame 动画 示例An ...

  4. 背水一战 Windows 10 (72) - 控件(控件基类): UIElement - UIElement 的位置, UIElement 的布局, UIElement 的其他特性

    [源码下载] 背水一战 Windows 10 (72) - 控件(控件基类): UIElement - UIElement 的位置, UIElement 的布局, UIElement 的其他特性 作者 ...

  5. 最佳实践扩展Windows窗体DataGridView控件 .net 4.5 附示例代码

    Windows窗体DataGridView控件的性能调优.net 4.5   在处理大量数据时, DataGridView 控制可以消耗大量的内存开销,除非你仔细地使用它. 在客户有限的内存,你可以避 ...

  6. 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox

    [源码下载] 背水一战 Windows 10 (29) - 控件(文本类): RichTextBlock, RichTextBlockOverflow, RichEditBox 作者:webabcd ...

  7. 背水一战 Windows 10 (6) - 控件 UI: 字体的自动继承的特性, Style, ControlTemplate

    [源码下载] 背水一战 Windows 10 (6) - 控件 UI: 字体的自动继承的特性, Style, ControlTemplate 作者:webabcd 介绍背水一战 Windows 10 ...

  8. 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

    实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...

  9. 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件

    [源码下载] 背水一战 Windows 10 (74) - 控件(控件基类): UIElement - 与 CanDrag 相关的事件, 与 AllowDrop 相关的事件 作者:webabcd 介绍 ...

随机推荐

  1. cookie导读,理解什么是cookie

    一.cookie导读,理解什么是cookie    1.什么是cookie:cookie是一种能够让网站服务器把少量数据(4kb左右)存储到客户端的硬盘或内存.并且读可以取出来的一种技术.    2. ...

  2. vsftpd.conf 怎么保存

    引用:http://zhidao.baidu.com/question/169939742.html vsftpd.conf 用vim编辑后如何保存?网上很多我都看了 esc 然后shift+ 不好使 ...

  3. VIM技巧之去除代码行号并缩进代码

    从网上找源代码时经常会发现代码虽然排版很好,但是前面带着行号,直接复制粘贴得将前面的行号去掉才能编译,而更糟糕的是前面带行号,而代码又没排版,简直是噩梦.在VIM中可以轻易地解决这个问题. 这里将网上 ...

  4. bitcask

    Bitcask模型是一种日志型kv模型.所谓日志型,是指它不直接支持随机写入,而是像日志一样支持追加操作.Bitcask模型将随机写入转化为顺序写入. 任意时刻,系统中只有一个数据文件支持写入,称为a ...

  5. Runnable和Thread的区别 (转)

    在java中可有两种方式实现多线程,一种是继承 Thread类,一种是实现Runnable接口:Thread类是在java.lang包中定义的.一个类只要继承了Thread类同时覆写了本类中的 run ...

  6. 如何通过iframe以post方式提交form表单

    以前用过一次这种技术,这次用居然忘了,现纪录下来,下次再用就来看看. 首先在html中需要准备好form和iframe元素代码如下: <form id="speaker_form&qu ...

  7. struct内存对齐1:gcc与VC的差别

    struct内存对齐:gcc与VC的差别 内存对齐是编译器为了便于CPU快速访问而采用的一项技术,对于不同的编译器有不同的处理方法. Win32平台下的微软VC编译器在默认情况下采用如下的对齐规则:  ...

  8. GZFramwork数据库层《前言》DLL项目引用

    新建项目: 1. 项目引入GZFramwork.dll NuGet地址:Install-Package GZFramwork 每个项目都引用 2.BLL层 设置数据库连接维护类:继承于:GZFramw ...

  9. C#报修系统Ⅱ

    用户需求: 1.用户可以注册,可以登录. 2.需要一个报修界面,当点击“报修”按钮时,软件会把用户报修的信息保存起来,更新报修次数,同时会清空相应的文本框,软件还要要检查所有文本框是否为空,空的话给出 ...

  10. Java 集合 - ArrayList

    源码分析 属性 // 默认的初始化容量 private static final int DEFAULT_CAPACITY = 10; // 用于无参构造中初始化一个空数组 private stati ...