Silverlight 3 创建一个简单的Behavior
最近一直在研究Silverlight 3,并同时用3的新特性来做一些演练,期间学到了不少新东西该倒了总结一下的时候了。
在开发一个demo的过程中我采用了MVVM的开发模式,这个模式能很方便的直接使用blend来做数据的绑定,但是对一些Event、事件的触发来实现相对应的动画效果就比较复杂,刚开始一直想用数据绑定的方式来绑定Event,最终发现绑定按钮的点击事件比较方便,但是绑定别的比如MouseEnter、MouseMove等的事件就相对复杂麻烦了,这时突然想起Behavior才眼前一亮发现自己走了弯路。
这里有一篇我对Behavior的介绍
http://www.cnblogs.com/nasa/archive/2009/03/23/silverlight-3-behaviors.html
进入正题,这里我要介绍的是如何来做一个最简单的Behavior
创建一个能把所有输入的大写字母转化为小写字母的Behavior
创建好项目
制作简单的界面一个TextBox一个Button
好下来开始做Behavior了
用VS打开项目,新建一个Behavior文件夹
在文件夹下创建一个UpperToLowerBehavior类 并继承自TargetedTriggerAction
代码如下:
using System;
using System.Windows.Interactivity;
using System.Windows;
using System.Windows.Controls;
namespace SimpleBehavior.Behavior
{
public class UpperToLowerBehavior : TargetedTriggerAction
{
protected override void Invoke(object parameter)
{
if (Target is TextBox) {
(Target as TextBox).Text = (Target as TextBox).Text.ToLower();
}
}
}
}
简单的判断一下目标的类型,若是TextBox就将其内的字母转换为小写。
这样再回到Blend中,Ctrl+shift+b 快捷键编译一下项目就会在资源视图中看到刚刚创建的Behavior。
将其拖拽到Button上,并设计其属性如下
F5运行
演示:
源码下载: