介绍
在讲解到样式的时候我们说,样式是为了一系列元素共享一些属性而存在的,归根结底是为了复用代码和逻辑,而我们学习了触发器之后,发现我们可以用触发器写一些简单的逻辑到样式中,但是这种简单的逻辑有时候远远不够。
当我们要实现一堆元素支持在Cancas上面拖放,停靠,缩放等功能的时候,触发器就显得不是那么够用了。
我们在复用代码的时候,有下面三种方法,他们互相补充,构建了WPF的属性重用架构,在合适的场景下选择合适的方法可以极大的简化我们的开发工作
- 样式,主要是属性的设置,用触发器写的简单的控件行为
- 自定义控件,为了满足某一功能编写的可以公用的专职控件
- 行为,封装了一些通用的用户界面功能的行为,可以是十分复杂的功能的集合,一旦创建成功,可以将这种构建好的行为用于任意一个其他控件中,十分的强大
依赖
行为的必须依赖 System.Windows.Interactivity,我们在使用的时候可以从网上下载后,添加打项目中,通过引用该dll,引入对于System.Windows.Interactivity的依赖。这一步也是必须的
编写行为
我们通过一个例子,直观的看一下行为能够做什么,为什么它比触发器更加的强大
我们就编写之前提到过的,我们要通过写一个行为,让一些原本很普通的控件具备在Canvas上被拖动的能力,行为的编写如下
public class DragInCanvasBehavior : Behavior<UIElement&g