blend 操作 行为 触发器 之间的区别如何理解呢
1个回答
展开全部
以下是我个人的理解,希望对你有帮助:
触发器有事件触发器、数据触发器(WPF)、属性触发器等,一般可以用来给属性赋值或者进行动画操作;
行为可以理解成要为触发器执行的操作,这个操作也可以给属性赋值,比如Blend的内置行为ChangePropertyAction;行为还可以在触发时执行方法,这个是触发器没法实现的,比如Blend的内置行为InvokeCommandAction,它可以在触发时执行绑定命令的方法,这个在mvvm中很实用,可以将任何触发事件绑定到viewmodel的命令;
除了Blend内置的行为,你还可以自定义行为,这样就可以为触发器执行任何类型的操作,虽然SL的触发器不支持数据触发器,但是你可以使用行为来实现同样的功能,创建行为后可以为行为执行触发器类型,除了包括普通触发器的类型外,还有TimerTrigger、KeyTrigger等
例如SL中支持数据触发器的行为示例如下:
<i:Interaction.Triggers
�0�2 <ei:DataTrigger Binding="{Binding Name}" Value="John Smith"
�0�2 <ei:ChangePropertyAction TargetName="textbox1" PropertyName="Text" Value="test"/
触发器有事件触发器、数据触发器(WPF)、属性触发器等,一般可以用来给属性赋值或者进行动画操作;
行为可以理解成要为触发器执行的操作,这个操作也可以给属性赋值,比如Blend的内置行为ChangePropertyAction;行为还可以在触发时执行方法,这个是触发器没法实现的,比如Blend的内置行为InvokeCommandAction,它可以在触发时执行绑定命令的方法,这个在mvvm中很实用,可以将任何触发事件绑定到viewmodel的命令;
除了Blend内置的行为,你还可以自定义行为,这样就可以为触发器执行任何类型的操作,虽然SL的触发器不支持数据触发器,但是你可以使用行为来实现同样的功能,创建行为后可以为行为执行触发器类型,除了包括普通触发器的类型外,还有TimerTrigger、KeyTrigger等
例如SL中支持数据触发器的行为示例如下:
<i:Interaction.Triggers
�0�2 <ei:DataTrigger Binding="{Binding Name}" Value="John Smith"
�0�2 <ei:ChangePropertyAction TargetName="textbox1" PropertyName="Text" Value="test"/
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询