零元学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 ...
随机推荐
- 【u216】A+B Problem(aplusb)
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 对于给定的A和B,求A+B的值. [输入格式] 输入文件aplusb.in的第1行为一个整数A,第2行 ...
- 【z03】Mayan游戏
[问题描述] Mayan puzzle是最近流行起来的一个游戏.游戏界面是一个 7 行5 列的棋盘,上面堆放 着一些方块,方块不能悬空堆放,即方块必须放在最下面一行,或者放在其他方块之上.游 戏通关是 ...
- 学习web开发遇到几个细节问题
1.在jsp中使用jsp表达式在input标签中时,避免直接和结束"/"相连 2.提取input select 标签内的内容,使用...value提取其值 3.form中含有一个o ...
- 【序列操作IV】树状数组套线段树/树套树
题目描述 给出序列 a1,a2,…,an(0≤ai≤109),有关序列的两种操作. 1. ai(1≤i≤n)变成 x(0≤x≤109). 2. 求 al,al+1,…,ar(1≤l≤r≤n)第 k(1 ...
- maven webcollector java.lang.ClassNotFoundException: org.openqa.selenium.remote.SessionNotFoundException
使用webcollector时出现了如下异常 分析是依赖的问题,不仅要添加selenium-java,还要添加htmlunit-driver的依赖,注意不要添加成selenium-htmlunit-d ...
- 多域名绑定同一IP地址,Node.js来实现
本来打算用Nginx来实现,看了一会Nginx的配置,感觉又要费时间学习,就抱着试试看的心在网上搜,是否可以用Node.js来实现. 没想到,竟然搜到了.想试一下,但国内域名备案时间长达一个月,我肯定 ...
- android 创建一个新的每次project什么时候 请问自己主动 参加 V7依赖?
android 创建一个新的每次project什么时候 请问自己主动 参加 V7依赖? 分析原因: 主要是由于.我之前的 SDK 的版本号 更新的有点高了.低版本号是不会有这样的问题g的,新版本号中g ...
- Android之消息推送实现
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...
- javascript常用的基础函数或方法——写给新手的我(持续补充)
1常用基础函数 alert函数:显示一个警告对话框,包括一个OK按钮.这就是传说中的警告框,此框一弹,世界就清静了.举例: alert("我一旦出现,之前出现的就算了,我屁股后面你们就歇 ...
- CUDA中的常量内存__constant__
GPU包含数百个数学计算单元,具有强大的处理运算能力,可以强大到计算速率高于输入数据的速率,即充分利用带宽,满负荷向GPU传输数据还不够它计算的.CUDA C除全局内存和共享内存外,还支持常量内存,常 ...