- 在WPF中,样式提供了一组属性设置的实用方法,可以简单的认为样式的作用是外观重用。
- 许多WPF程序或控件还涉及到一些通用的功能,如驱动动画、实现平滑效果、拖放、缩放等,因此Expression Blend创作者开发了称为行为(behavior)的特征,其思想很简单:构建封装了一些通用用户界面功能的行为,可以是基本功能或复杂功能,功能一旦构建,可以将它们添加到任意应用程序的另一控件中,通过将该控件链接到适当的行为并设置行为属性来实现。
- 行为是Expression Blend的特性,WPF应用时需要引入Microsoft.Expression.Interactions.dll和System.Windows.Interactivity.dll两个库文件,并在XAML文件中添加
xmlns:i=“http://schemas.microsoft.com/expression/2010/interactivity”
xmlns:ei=“http://schemas.microsoft.com/expression/2010/interactions” - 行为的应用:
1). 首先创建一个行为类
public class DragInCanvasBehavior : Behavior<UIElement>
{... }
2). 使用行为
<Ellipse>
<i:Interaction.Behaviors>
<custom:DragInCanvasBehavior />
</i:Interaction.Behaviors>
</Ellipse>
- 这里只介绍了行为类库的行为特性,行为类库中也包含触发器系统,触发器的最重要作用是创建灵活的样式和控件模板,WPF也支持触发器,所以两个触发器功能有所重合。