【最佳实践】【Blend】Triggers、Actions 和 Behaviors

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

   

所谓Trigger,就是监听某些条件的变化,比如事件触发,属性值改变等,进而触发一些动作的发生。

自定义Triiger只需要从TriggerBase继承,并覆盖OnAttached和OnDetaching方法即可。

   

所谓Action,就是执行某些操作的一个对象。

可以根据需要创建自己的Action,常见的需要创建Action的情况有:改变属性、调用方法、打开窗口、导航到某个页面、设置焦点等。

自定义Action可从 TriggerAction或TargetedTriggerAction继承,区别在于这个操作是否有目标对象,然后覆盖Invoke方法即可。

Triggers和Actions理论是可以相互独立,任意组合的。

   

当你在定义时发现有些逻辑上需要相互确定或者假定发生 时,Behaviors需要登台了。

Behaviors乍看起来像是Actions,但它是逻辑独立功能自备的独立单元,它无需触发器,常常定义 Behavior时就已经确定。

创建自定义Behavior需要从Behavior继承,并覆盖 OnAttached和OnDetaching方法,复杂行为时需要用到ICommand.

   

posted @ 2011-12-07 14:40  宁#宁  阅读(560)  评论(0编辑  收藏  举报