在开发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. 微信的redirect_uri参数错误原因分析

    我们可以根据微信的开发者文档  http://mp.weixin.qq.com/wiki/17/c0f37d5704f0b64713d5d2c37b468d75.html 网页授权获取用户验证这一章来 ...

  2. 十分钟学会python

    1.raw_input的使用 从键盘读取信息,返回字符串. 例: hrs = raw_input("Enter Hours:")pay=raw_input("Enter ...

  3. JS按回车键实现登录的方法

    本文实例讲述了JS按回车键实现登录的方法,该功能有着非常广泛的实用价值.分享给大家供大家参考之用.具体方法如下: 方法一: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 < ...

  4. jQuery的deferred对象详解(转载)

    本文转载自: jQuery的deferred对象详解(转载)

  5. http://www.miniui.com/demo/#src=datagrid/celledit.html

    http://www.miniui.com/demo/#src=datagrid/celledit.html   jQuery MiniUI Demo

  6. 详解 Array.prototype.slice.call(arguments)

    首先,slice有两个用法,一个是String.slice,一个是Array.slice,第一个返回的是字符串,第二个返回的是数组 在这里我们看第二个方法 1.在JS里Array是一个类 slice是 ...

  7. 在li元素中放入img图片时li的高度问题

    在li元素中放入img图片时li的高度会比img图片的高度多出几个像素,解决这个问题只需要将img元素的css设置成vertical-align: middle;就可以解决.

  8. (转)libcurl应用:如何把下载内容写入内存

    libcurl应用:如何把下载内容写入内存 2008-01-13 00:32:52|  分类: 默认分类 |举报 |字号 订阅   libcurl的文档中有 getinmemory.c这个例子,把下载 ...

  9. JAVA线程锁lock下Condition的使用

    import java.util.concurrent.locks.Condition; import java.util.concurrent.locks.Lock; import java.uti ...

  10. Nginx的负载均衡 - 整体架构

    Nginx的负载均衡 - 整体架构 Nginx版本:1.9.1 我的博客:http://blog.csdn.net/zhangskd Nginx目前提供的负载均衡模块: ngx_http_upstre ...