Silverlight --- Behavior技术(四)
Silverlight 3中的Behavior技术(四)
接着,我们在Invoke方法中撰写的程序代码如下:
- protected override void Invoke(object o)
- {
- TextBox TargetObject=Target;
- TargetObject.SelectAll();
- }
其中的Target是目标对象,也就是我们将来把该Action拖曳到TextBox时所指定的控件,而我们针对该Target呼叫其SelectAll()方法,来选取其中的文字。就这样,完成了。
接着我们编译建置该项目,然后在我们的Silverlight主项目当中,引用(Add Reference)建置好的.dll,
当项目中正确的引用了该.dll之后,就可以开始使用了,请切换到Blend3,依照刚才我们先前介绍如何使用Action的方式,切换到Assets页标签下,您会看到我们刚才建立的这个Action已经出现在选项当中(如果没有找到,请检查一下是否有正确的引用该.dll或是该项目)。这时候,您可以直接将该Action(TextBoxAutoSelectAction)拖曳到画面中的TextBox上:拖曳上去之后,切换到属性窗口,可以设定该Action的属性:
请将Trigger中的EventName设定为GotFocus,接着将TargetName设为TextBox1,整个设定的意思是:当TextBox1的GotFocus事件被触发时,在TextBox对象上(将TextBox1对象视为Target)执行该Action(也就是让TextBox中的文字被选取)。
过这样的设定后,应用程序执行时只要用户一点选TextBox1或是透过Tab键切换到TextBox1(GotFocus事件被触发),TextBox中的文字就自动被选取了。未来我们只需要把这个Behavior拖曳到任何TextBox对象上,就可以不须撰写任何程序代码,在需要的时候执行此Action。
尽管这个范例似乎很简单(只是选取文字),但重点是透过这样的技术,开发人员可以利用此机制,或设计出各式各样的Action,供其他Developer或Designer使用,诸如影片的控制(播放、暂停)、甚至是各种窗口或是动画的处理(例如对象的淡入淡出…)。总括来说,Action是一个相当好用且重要的功能,值得开发人员广泛的使用在自己的项目当中。
本文来自dotnetWalker的博客,原文地址:http://blog.csdn.net/dotnetwalker/article/details/5438831