零元学Expression Blend 4 - Chapter 33 简单轻松的学会如何使用Visual States(下)
原文:零元学Expression Blend 4 - Chapter 33 简单轻松的学会如何使用Visual States(下)
上篇提到了Visual State Manager中文翻译为视觉状态管理器是Blend的强大功能之一
本篇要更深入介绍如何使用
?
上篇提到了Visual State Manager中文翻译为视觉状态管理器是Blend的强大功能之一
本篇要更深入介绍如何使用
?
本篇范例最後成果:
?
很抱歉,阁下使用的浏览器并不支援 IFrame,不能正常浏览我的网页
?
01
接续着上篇的介绍,所以接下来开始相关效果的设定
左键单击MouseOver,工作区左上方会亮起小红点并显示”state recording is on”
在这个状态下,请把爱心的颜色更改为#FFFFCACA
?
再来是Pressed,一样单击Pressed使之为state recording is on状态
(应该可以发现,从MouseOver转换为Pressed时爱心从粉红色会更改回白色,这就是状态间的变换)
选取最大的圆,并更改些微的大小
?
你可以再次按下F5,试试看是否Button已经有操作时视觉上的反馈了
?
注意到了吗? 我们不用编写任何程式码或XAML就能改变我们按钮的外观
?
02
而接下来介绍如何使用Visual State功能处理视觉状态间的变换
为了更明显看出两个状态变换间的差异,我让Pressed时的圆形变得比刚刚更大一点
?
在Visual State预设情形下,由一个视觉状态移动到另一个视觉状态时,Blend会自动的构建和执行过渡时间的Storyboard(即为Blend自动帮我们生成了2个状态间平滑过渡的动画效果)
再一次实现了在Blend里,你不需编写任何程式码就可以让这一切发生
?
但若还是想要自订过渡时间的Storyboard,你还是能加自己所设计的Storyboard
?
Blend的自动过渡功能中你可以利用的一个特性是,自订视觉状态过渡发生所需要花费的时间
单击Add Transition(状态右边带有”+号”的箭头)->MouseOver->Pressed
?
列表里有:
* -> MouseOver
MouseOver -> Normal
MouseOver -> Pressed
MouseOver -> Disabled
MouseOver –> *
?
“星号*"表任何状态
所以* -> MouseOver表示任何状态到MouseOver
而MouseOver -> *,则表示MouseOver到任何状态
?
设定一个TransitionEffect,Blend已经内建了许多效果,你可以选一个喜欢的效果来测试
范例这里选的是Ripple
?
接着的是EasingFunction,但这个范例我们不使用这项功能
(详细的EasingFunction介绍请看这里)
?
接着设定当MouseOver状态移到Pressed状态时,过渡效果所执行的时间
Transiton duration ->由0s改为1s,设定值接受小数点
这里表示由MouseOver状态移到Pressed状态须经过1秒钟的执行时间
?
完成後按下F5看看成果
?
你应该会发现很明显的差异
?
其他状态的过渡效果可以依不同的需求作调整
相信你会慢慢发现Blend这项强大功能的神奇力量
?
附上本范例的专案
?
?
?
本篇的教学就到此。
?
?
?
(若有任何错误的地方,请各位前辈或同好能不吝指教,小女子都会虚心接受;若是你喜欢我的教学,请给我点鼓励,谢谢。)
一步一步迈向HIE之路
喜欢我文章请推我一下或给我个回应,你的鼓励会给我无限的动力喔!
若是您有其他问题或是特别需要,请在文章回应处留言,我会尽快回覆您
零元学Expression Blend 4 - Chapter 33 简单轻松的学会如何使用Visual States(下)的更多相关文章
- 零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上)
原文:零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上) Visual State Manager中文翻译为视觉状态管理器,这 ...
- 零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异
原文:零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异 因为先前写到自制Button时需特别注意T ...
- 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果
原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...
- 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里
原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...
- 零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能
原文:零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能 本章所讲的是运用ListBox.TextBox与Button,做出简单的列表 ...
- 零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面
原文:零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面 本章将交大家如何运用Blend 4 内的Text相关功能做出有设计感的登 ...
- 零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II
原文:零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II 本章将教大家如何制作自己的Button,并以玻璃质感Button为实作案例. ? ...
- 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」
原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...
- 零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计
原文:零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计 本章将教大家如何把Photoshop档案置入Expression Blend ...
随机推荐
- 数据结构与算法——常用数据结构及其Java实现
前言 仿佛一下子,2017年就快过去一半了,研一马上就要成为过去式了,我打算抓住研一的尾巴,好好梳理一下数据结构与算法,毕竟这些基础知识是很重要的嘛.所以准备在这里搞一个系列的文章,以期透彻. 本系列 ...
- oracle dual表
dual是个虚表,其仅仅有一列. 当查询时间或者日期这些对象的时候就须要使用这个表. 比如: select sysdate from dual; 由于在oracle其中,查询语句必需要有keyword ...
- html5-1 网页结构描述
html5-1 网页结构描述 一.总结 一句话总结:注意head中的title,keywords,description,这对seo优化很有帮助 1.如何给某元素动态使用类似onclick方法? 点o ...
- iOS 一个简单的单例
比如我有一个Singleton的类(DemoStatusManage),他有一个实例方法currentStatus会返回一个1-100的随机数. @interface DemoStatusManage ...
- Swagger与postman使用心得
Swagger接口文档,在线自动生成模板和页面.服务器地址加上swagger-ui.html后缀即可访问到(https://域名:端口号/swagger-ui.html). 使用时在java代码中引用 ...
- KindEditor4.1.10,支持粘贴图片
转载自https://blog.csdn.net/jimmy0021/article/details/73251406 我已经忘记我是不是从这个博主的那里找到的解决kindeditor粘贴图片的方法了 ...
- C#MVC中创建多模块web应用程序
当一个应用程序有越来越多的子模块后,应用程序将变得越来越大,复杂度也越来越高,应用程序也越来越难维护.如果把每个子模块,独立分成不同的web应用程序,则这个项目将易于维护.关于这个的好处,我也描述得不 ...
- XMPP开发adiumclient登陆
我写在前面client它已经实现了登陆,我用下面的adium要登录落实的朋友加入,而自己写的client在聊天帐号. 第一次登录时adium工欲善其事,必先例如,下面的配置 保存后.你会发现自己的账号 ...
- 符号函数(sign function)性质及应用
sgn(x):=⎧⎩⎨−101if x<0,if x=0,if x>0. 形式及描述较为简单的数学对象,更应当注意的便是其细节问题,对于 sign 函数(符号函数),便是自变量取值为 0 ...
- Android 平台下Cordova 调用Activity插件开发
首先建立一个包名为package com.JiajiaCy.CallActivity; package com.JajaCy.CallActivity; import org.apache.cordo ...