Caliburn笔记-消息触发器(wpf框架)

参考此http://caliburn.codeplex.com/wikipage?title=Message%20Triggers&referringTitle=Documentation 

先看下面一段xaml

<Button Content="Divide (Trigger Collection w/ Explicit Parameters)">
    <cal:Message.Triggers>
        <cal:RoutedMessageTriggerCollection>
            <cal:EventMessageTrigger EventName="Click">
                <cal:EventMessageTrigger.Message>
                    <cal:ActionMessage MethodName="Divide"
                                   OutcomePath="DivideResult.Text">
                        <!--Note: The declaration of parameters is different from Silverlight.-->
                        <cal:Parameter Value="{Binding ElementName=left, Path=Text}"/>
                        <cal:Parameter Value="{Binding ElementName=right, Path=Text}"/>
                    </cal:ActionMessage>
                </cal:EventMessageTrigger.Message>
            </cal:EventMessageTrigger>
        </cal:RoutedMessageTriggerCollection>
    </cal:Message.Triggers>
</Button>


caliburn提供了一系类的消息触发器,如上的事件消息触发器

image

触发点

每个触发器都会提供相应的触发时机点,如事件触发器则提供了EventName属性

引发消息


image

IRoutedMessage用于触发器发送消息,即引发的方法行为.如下代码片段,注意均为DependencyObject

<cal:ActionMessage MethodName="Divide"
               OutcomePath="DivideResult.Text">
    <!--Note: The declaration of parameters is different from Silverlight.-->
    <cal:Parameter Value="{Binding ElementName=left, Path=Text}"/>
    <cal:Parameter Value="{Binding ElementName=right, Path=Text}"/>
</cal:ActionMessage>


建立好trigger集合以后,然后会去触发IMessageTrigger的Attach方法

转载于:https://www.cnblogs.com/Clingingboy/archive/2009/12/25/1632172.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值