WPF中行为(Behavior)的简单使用
WPF中行为(Behavior)的简单使用
在我之前的 WPF 开发中,需要实现一些页面效果时,常使用到的方式就是重写元素的样式(Style),然后再样式里面设置使用元素的各类触发器(Trigger)来实现效果。这样常常需要编写大量的代码。
近日学习到 WPF 中有一个叫做 Behavior 的扩展方式,可以用来实现页面效果,实现方式更为简便。学习笔记如下:
添加需要的DLL库
要使用 Behavior 的相关功能需要先添加 “System.Windows.Interactivity” 库。可以通过 Nuget 进行安装。
如下图:
安装完成后如下图:
编写自己需要的 EffectBehavior 类
如下代码中,定义的 Behavior 类的为 EffectBehavior。EffectBehavior 需要继承自 Behavior<T>。
按 F12 进入 Behavior 的源码中可知,T (下面代码中为 FrameworkElement)为该行为需要产生作用的元素的类型,通过 AssociatedObject 进行关联。
代码如下:实现了鼠标悬停的时候,元素进行红色边框高亮显示。
using System.Windows;
using System.Windows.Interactivity;
using System.Windows.Media;
using System.Windows.Media.Effects;
namespace BehaviorDemo
{