zoukankan      html  css  js  c++  java
  • Silverlight Triggers、Actions 和 Behaviors

            Triggers、Actions 和Behaviors使得在Silverlight应用程序中进行交互操作(System.Windows.Interactivity)变得更为容易,尤其是借助Blend 3,用XAML即可完成诸多功能,可以减去复写后台代码的烦恼。

      Triggers和Actions是因果关系模型,一个触发器可以调用一个或多个操作,与WPF中的模型基本一致。

    1.   所谓Trigger,就是监听某些条件的变化,比如事件触发,属性值改变等,进而触发一些动作的发生。这些Triggers可能是EventTrigger、CollisionTrigger 等,当然更多的或许是创建自己的Trigger。自定义Triiger只需要从TriggerBase继承,并覆盖OnAttached和OnDetaching方法即可。
    2.   所谓Action,就是执行某些操作的一个对象。可以根据需要创建自己的Action,常见的需要创建Action的情况有:改变属性、调用方法、打开窗口、导航到某个页面、设置焦点等。自定义Action可从 TriggerAction或TargetedTriggerAction继承,区别在于这个操作是否有目标对象,然后覆盖Invoke方法即可。
    3.   Triggers和Actions理论是可以相互独立,任意组合的。当你在定义时发现有些逻辑上需要相互确定或者假定发生时,Behaviors需要登台了。Behaviors乍看起来像是Actions,但它是逻辑独立功能自备的独立单元,它无需触发器,常常定义Behavior时就已经确定。

      创建自定义Behavior需要从Behavior继承,并覆盖OnAttached和OnDetaching方法,复杂行为时需要用到ICommand. 当然在Blend 3中已经预定义了不少Behaviors,如MouseDragElementBehavior等。可以利用,同时在 Expression Gallery 也可以共享他人或自己的Behavior。

  • 相关阅读:
    [BZOJ3195] [Jxoi2012]奇怪的道路
    Splay Tree
    区间DP复习
    Link Cut Tree
    [BZOJ2734] [HNOI2012]集合选数
    如何写出杀手级简历(针对程序员) (转)
    30个提高Web程序执行效率的好经验(转)
    Oracle中的SQL跟踪( 转)
    如何终止SQL Server中的用户进程(转)
    Will the real programmers please stand up?(转)
  • 原文地址:https://www.cnblogs.com/jason_zhou/p/2546402.html
Copyright © 2011-2022 走看看