原文:零元学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(下)的更多相关文章

  1. 零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上)

    原文:零元学Expression Blend 4 - Chapter 32 简单轻松的学会如何使用Visual States(上) Visual State Manager中文翻译为视觉状态管理器,这 ...

  2. 零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异

    原文:零元学Expression Blend 4 - Chapter 35 讨厌!!我不想一直重复设定!!『Template Binding』使用前後的差异 因为先前写到自制Button时需特别注意T ...

  3. 零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果

    原文:零元学Expression Blend 4 - Chapter 47 超简单!运用StackPanel配合OpacityMask做出倒影效果 有网友问我如何在Blend内制作出倒影效果 我提供了 ...

  4. 零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里

    原文:零元学Expression Blend 4 - Chapter 31 看如何简单的把SampleData 绑进ListBox里 前面几章连续讲到ListBox的运用,本章要讲得是如何简单的把Sa ...

  5. 零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能

    原文:零元学Expression Blend 4 - Chapter 29 ListBox与Button结合运用的简单功能 本章所讲的是运用ListBox.TextBox与Button,做出简单的列表 ...

  6. 零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面

    原文:零元学Expression Blend 4 - Chapter 25 以Text相关功能就能简单做出具有设计感的登入画面 本章将交大家如何运用Blend 4 内的Text相关功能做出有设计感的登 ...

  7. 零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II

    原文:零元学Expression Blend 4 - Chapter 16 用实例了解互动控制项「Button」II 本章将教大家如何制作自己的Button,并以玻璃质感Button为实作案例. ? ...

  8. 零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」

    原文:零元学Expression Blend 4 - Chapter 8 用实例了解布局容器系列-「Grid」 本系列将教大家以实做案例认识Blend 4 的布局容器,此章介绍的是Blend 4 里的 ...

  9. 零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计

    原文:零元学Expression Blend 4 - Chapter 6 如何置入Photoshop档案以及入门动画设计 本章将教大家如何把Photoshop档案置入Expression Blend ...

随机推荐

  1. 【codeforces 755C】PolandBall and Forest

    time limit per test1 second memory limit per test256 megabytes inputstandard input outputstandard ou ...

  2. oracle dual表

    dual是个虚表,其仅仅有一列. 当查询时间或者日期这些对象的时候就须要使用这个表. 比如: select sysdate from dual; 由于在oracle其中,查询语句必需要有keyword ...

  3. Java 中StringBuffer与StringBuilder区别(转)及String类的一些基本操作代码

    String 字符串常量StringBuffer 字符串变量(线程安全)  多个线程访问时,不会产生问题(Synchronized)StringBuilder 字符串变量(非线程安全) 多个线程访问时 ...

  4. 【bzoj2453】维护队列 (分块 + 二分)

    传送门(权限题) 题目分析 题意为:求区间内有多少种不同的数,带修改. 首先对原序列分块,用last[i]表示与i相同的上一个在哪里,然后将分块后的数组每个块内的按照last进行排序,这样查询时就可以 ...

  5. IWXAPI的使用,发布分享和支付

    今天看代码,看到以前项目的微信支付功能,想做一下记录 首先是在application类里面定义 public static IWXAPI MSGAPI; public static final Str ...

  6. POJ - 1466 Girls and Boys 二分图+最大独立集

    标题效果:有着n学生,有一些同学之间的特殊关系.. .为了一探究竟m学生.要求m免两者之间的学生有没有这样的特殊关系 解决问题的思路:二分图的问题,殊关系是对称的.所以能够将两个点集都设置为n个点.求 ...

  7. eCognition学习记录

    作者:朱金灿 来源:http://blog.csdn.net/clever101 昨天公司从外面请了人讲解eCognition的最新进展及项目二次开发应用情况.我做了大致下面记录: 1.  eCogn ...

  8. oracle授权grant

    alter any cluster 修改任意簇的权限 alter any index 修改任意索引的权限 alter any role 修改任意角色的权限 alter any sequence 修改任 ...

  9. linux process management

    CREAT PROCESS fork() | clone(參数,决定父子函数的共享内容) | do_fork() | copy_process() | dup_task_struct() 创建子进程的 ...

  10. Folly: Facebook Open-source Library Readme.md 和 Overview.md(感觉包含的东西并不多,还是Boost更有用)

    folly/ For a high level overview see the README Components Below is a list of (some) Folly component ...