Silverlight 3 创建一个简单的Behavior

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运行
演示:
源码下载:


posted @ 2009-08-06 01:30  王喆(nasa)  阅读(2243)  评论(1编辑  收藏  举报