在Blend强大的设计功能支持下,设计人员和开发人员可以无代码实现Silverlight/WPF动画效果,例 如上文介绍的 StoryBoard,就是一个典型例子,设计人员和开发人员仅需提供必要元素,即可实现简单 动画。通常来说,在一个项目中会经常出现重复的动画或者相似的动画,如果每次都创建一个新的 StoryBoard,这样显着项目代码十分臃肿,而且有时还会影响项目运行效率。另外在多个项目中都会用到 一个相同的动画效果,如果能把这个动画效果编译成通用类提供调用,也就可以达到事半功倍的效果。为 了解决以上问题,微软在Silverlight 3中推出一个新的特性,叫做Behavior,也称为行为。本文带着大家 快速学习掌握Behavior在Blend中的使用。
在开始学习前,首先需要了解一下Behaviors(行为)的几个关键点:
(1)Behaviors(行为)是可复用代码集合,可以被任何对象附加使用;
(2)设计人员和开发人员可以使用Behaviors(行为)在不用设计任何代码的情况下,添加相关功能 到XAML中;
(3)Behaviors(行为)可以通过XAML附加到任何对象元素中,无需设计任何后台代码;
(4)一个Behaviors(行为)可以被多个对象同时调用;
快速了解Behaviors(行为)概念
Behaviors(行为),我们可以简单的理解为用户交互通用类,或者一个Usercontrol,使用“行为” 主要是为了简化设计人员和开发人员的工作,提供一种可重复使用的用户交互代码。创建成功后,一旦发 布,即可在Blend中使用拖拽操作将该行为应用到不同项目中。记得曾经有网友问过,Behavior(行为) 从哪里声明调用?其命名空间在哪里? 前文我们提及过,Behaviors(行为)是Silverlight 3的新功能 ,是为了提供可复用用户界面代码,而这些代码的调用被集成到Expression Blend视图设计中,也就是说 Blend是当前最简单调用Behaviors(行为)的设计工具,于是微软将Behaviors(行为)类库封装到 Expression Blend 3中和Expression Blend 3 SDK中,安装以上工具成功后,就可以获得Behaviors(行 为)支持。在Blend 3安装成功后,可以在c:\Programe Files\Microsoft SDKs\Expression\Blend 3 \Interactivity\Libraries\Silverlight中发现两个DLL文件,分别是:
System.Windows.Interactivity.dll,该链接库定义了Behaviors(行为)基础类,有了该链接库支持 ,即可支持Behaviors(行为);
Microsoft.Expression.Interactions.dll,该链接库提供了一些扩展行为类库,以及一些Action和 Trigger类,作为演示实例;
Behaviors(行为)的构成