Silverlight 3 创建一个简单的Behavior

简介: Silverlight 3 创建一个简单的Behavior 最近一直在研究Silverlight 3,并同时用3的新特性来做一些演练,期间学到了不少新东西该倒了总结一下的时候了。在开发一个demo的过程中我采用了MVVM的开发模式,这个模式能很方便的直接使用blend来做数据的绑定,但是对一些Event、事件的触发来实现相对应的动画效果就比较复杂,刚开始一直想用数据绑定的方式来绑定Event,最终发现绑定按钮的点击事件比较方便,但是绑定别的比如MouseEnter、MouseMove等的事件就相对复杂麻烦了,这时突然想起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运行
演示:
源码下载:


相关文章
|
前端开发 开发工具 Windows
深入理解MVVM模式中Silverlight的Trigger、Action和Behavior及Silverlight的继承机制
原文:深入理解MVVM模式中Silverlight的Trigger、Action和Behavior及Silverlight的继承机制   接触Silverlight已经有两三个月了,开始一直感觉他和Winform很相似,拖拖控件就行了,所以一直把经历放在了研究后台和服务器交互和性能优化上面,很少去仔细研究Silverlight的页面。
795 0
|
前端开发 开发工具 Windows
深入理解MVVM模式中Silverlight的Trigger、Action和Behavior及Silverlight的继承机制
  接触Silverlight已经有两三个月了,开始一直感觉他和Winform很相似,拖拖控件就行了,所以一直把经历放在了研究后台和服务器交互和性能优化上面,很少去仔细研究Silverlight的页面。
799 0
|
XML 数据格式
令人激动的silverlight 3行为(behavior)效果
令人激动的silverlight 3行为(behaviors)效果   Mix09大会带来了很多的惊喜。 看完了http://videos.visitmix.com/MIX09/C27M又忍不住的激动了一把,呵呵    保持激情! 安装完了Blend 3预览版发现behaviors这一栏都是空的。
765 0

热门文章

最新文章