• Silverlight Behavior技术(三)


    Silverlight 3中的Behavior技术(三)

    从前面的介绍中我们可以知道,当我们设计好了Action或Behavior之后,其实不仅是设计师(Designer)可以使用,一般开发人员在撰写应用程序时,也可以将常用的功能封装成了Action或Behavior,让其他开发人员直接套用。

      我们在这边看一个简单的例子,从这个例子当中我们也来看如何设计Action。请参考底下这个画面:




      这是一个很典型的简单输入画面,使用者可以在TextBox中输入文字,但是,当用户点选TextBox的时候,得先把TextBox中的文字先清空后才能输入,体贴一点的程序,会在用户点选该TextBox时,就直接让该TextBox中的文字变成『选取』状态,这样使用者就可以直接输入了:


      当然,要达成这样的功能相当容易,只需要在TextBox的GotFocus事件中撰写『this.TextBox1.SelectAll();』即可。但是每一个TextBox都要这样写,显然很麻烦,如果可以跟刚才一样,把一个对象(Component)直接拖曳到TextBox上,该TextBox就自动具有此功能,岂不挺好?


      是的,我们紧接着就来看如何设计这样的Action。


      请先建立一个Silverlight项目(当然您也可以在现有的Silverlight项目中直接建立Action或Behavior类别,不过为Action或Behavior建立一个独立的项目是比较理想的选择),该项目请选择『Silverlight
    Class Library』即可,接着,请在该项目中建立一个Action类别,当您在项目中选择Add New Item时,可以找到Blend分类下的Action
    Template,我们建立一个名称为『TextBoxAutoSelectAction』的Action,你会发现建立出来的类别如下:

      1. public class TextBoxAutoSelectAction : TriggerAction<DependencyObject> 

      2.     public TextBoxAutoSelectAction() 
      3.     { 
      4.         // Insert code required on object creation below this point. 
      5.     } 
      6.     protected override void Invoke(object o) 
      7.     { 
      8.         // Insert code that defines what the Action will do when triggered/invoked. 
      9.     } 

      请将TriggerAction调整成TargetedTriggerAction,并将改为<TextBox >。

      TargetedTriggerAction是一个泛型类别,其中的则可设定为我们默认的目标对象。例如,我们现在设计的这个TextBoxAction主要的使用对象是TextBox,因此我们可以写成『TargetedTriggerAction』。而继承TargetedTriggerAction这个类别必须要实作Invoke方法,Invoke方法是该Action被触发时,要执行的动作。


      本文来自dotnetWalker的博客,原文地址:http://blog.csdn.net/dotnetWalker/article/details/5438795

  • 相关阅读:
    Mybatis中的动态SQL
    Mybatis核心知识点
    Java8之Stream详解
    多线程知识点总结(二)
    多线程知识点总结(一)
    数据库中的行锁和表锁
    数据库中的sql完整性约束
    数据库中的sql语句总结
    全局变量
    打印 输出 debug
  • 原文地址:https://www.cnblogs.com/fxf568/p/2744332.html
Copyright © 2020-2023  润新知