zoukankan      html  css  js  c++  java
  • Mvvm Light 框架下的消息传递

    1、Messenger.Default.Send<string>("Messenger");

        原型:Public virtual void Send<TMessage>(TMssage message);

        摘要:将消息发送到注册该消息将达到所有收件人,注册这个消息类型使用的注册方法

        类型参数:消息将发送的类型

        参数:消息发送到注册

    2、public Class MyClass{}

      Messenger.Default.Send<string,MyClass>("Messenger");

        原型:Public virtual void Send<TMessage, TTarget>(TMessage message);

        摘要:将消息发送到注册者。该消息只会到达(注册这个消息类型使用的注册方法并且使用相同的目标类型)。

        参数类型:消息将发送的类型

             收件人将收到的消息的类型该消息将不会被发送到另一个类型的收件人

        参数:消息将发送的类型

    3、Messenger.Default.Send<string>("Messenger", "ChildPage1ViewModel");

        原型:Public virtual void Send<TMessage>(TMessage message,object token);

        摘要:将消息发送到注册者。该消息只会到达(注册这个消息类型使用的注册方法并且使用相同的目标类型)。

        参数类型:消息将发送的类型

        参数:消息将发送的类型

           一个通信通道的标志,如果收件人使用了这个标志,那么发件人也要使用相同的标志。然后这个消息将会被

           发送到收件人。注册时没有使用这个标志的人或使用不同标志的收件人不会收到这条消息。同样,消息发送          

           没有带有标志、或不同的标志,将不会发送到收件人。

    1、Messenger.Default.Register<string>(this,
                    m =>
                    {
                        //MainPageMessenger = m.ToString();
                    });

        原型:public virtual void Register<TMessage>(object recipient, Action<TMessage> action);

        摘要:发寄存器中将保存一条Tmessage类型的消息,当收到消息时,Action委托将执行相应的动作,注册一个收

           注册一个收件人不能使用一个强引用。因为如果这个收件人被删除了,不会引发内存泄露。

           Registers a recipient for a type of message TMessage. The action parameter will be executed when a corresponding message is sent.Registering a recipient does not create a hard reference to it, so if this recipient is deleted, no memory leak is caused.

        类型参数:消息的收件人登记类型

        参数:收件人将收到的消息

             消息发送时,执行的动作

    2、Messenger.Default.Register<string>(this, "ChildPage1ViewModel",
                    m =>
                    {
                        MainPageMessenger = m.ToString();
                    });

        原型:public virtual void Register<TMessage>(object recipient, object token, Action<TMessage> action);

        摘要:发寄存器中将保存一条Tmessage类型的消息,当收到消息时,Action委托将执行相应的动作,注册一个收

           注册一个收件人不能使用一个强引用。因为如果这个收件人被删除了,不会引发内存泄露。

           Registers a recipient for a type of message TMessage. The action parameter will be executed when a corresponding message is sent.Registering a recipient does not create a hard reference to it, so if this recipient is deleted, no memory leak is caused.

        类型参数:消息的收件人登记类型

        参数:收件人将收到的消息

             一个通信通道的标志,如果收件人使用了这个标志,那么发件人也要使用相同的标志。然后这个消息将会被

           发送到收件人。注册时没有使用这个标志的人或使用不同标志的收件人不会收到这条消息。同样,消息发送          

           没有带有标志、或不同的标志,将不会发送到收件人。

             消息发送时,执行的动作

     3、Messenger.Default.Register<string>(this, false,
                    m =>
                    {
                        MainPageMessenger = m.ToString();
                    });

          原型:public virtual void Register<TMessage>(object recipient, bool receiveDerivedMessagesToo, Action<TMessage> action);

          摘要:发寄存器中将保存一条Tmessage类型的消息,当收到消息时,Action委托将执行相应的动作,看到receiveDerivedMessagesToo这个参数描述从TMessage得到消息(或者,如何TMessage是一个接口,messages实现TMessage)注册一个收注册一个收件人不能使用一个强引用。因为如果这个收件人被删除了,不会引发内存泄露。

           Registers a recipient for a type of message TMessage. The action parameter will be executed when a corresponding message is sent.Registering a recipient does not create a hard reference to it, so if this recipient is deleted, no memory leak is caused.

        类型参数:消息的收件人登记类型

        参数:收件人将收到的消息

             如果true,消息类型从TMessage将会传递到收件人,例如,如果一个SendOrderMessage和一个ExecuteOrderMessage来自OrderMessage,为OrderMessage注册和设置receiveDerivedMessagesToo为true将会发送SendOrderMessage和ExecuteOrderMessage给收件人。同时,如果TMessage是一个接口,message类型实现了TMessage也将会传递给收件人。例如,如果SendOrderMessage和一个ExcuteOrderMessage实现了IOrderMessage接口,为IOrderMessage注册和设置receiveDerivedMessagesToo为true将会发送SendOrderMessage和ExecuteOrderMessage给那个注册了的收件人。

             消息发送时,执行的动作

     4、Messenger.Default.Register<string>(this, "ChildPage1ViewModel", true,
                    m =>
                    {
                        MainPageMessenger = m.ToString();
                    });

        原型:public virtual void Register<TMessage>(object recipient, object token, bool receiveDerivedMessagesToo, Action<TMessage> action);

        摘要:发寄存器中将保存一条Tmessage类型的消息,当收到消息时,Action委托将执行相应的动作,看到receiveDerivedMessagesToo这个参数描述从TMessage得到消息(或者,如何TMessage是一个接口,messages实现TMessage)注册一个收注册一个收件人不能使用一个强引用。因为如果这个收件人被删除了,不会引发内存泄露。

           Registers a recipient for a type of message TMessage. The action parameter will be executed when a corresponding message is sent.Registering a recipient does not create a hard reference to it, so if this recipient is deleted, no memory leak is caused.

        类型参数:消息的收件人登记类型

        参数:收件人将收到的消息

           一个通信通道的标志,如果收件人使用了这个标志,那么发件人也要使用相同的标志。然后这个消息将会被发送到收件人。注册时没有使用这个标志的人或使用不同标志的收件人不会收到这条消息。同样,消息发送没有带有标志、或不同的标志,将不会发送到收件人。

            

          如果true,消息类型从TMessage将会传递到收件人,例如,如果一个SendOrderMessage和一个ExecuteOrderMessage来自OrderMessage,为OrderMessage注册和设置receiveDerivedMessagesToo为true将会发送SendOrderMessage和ExecuteOrderMessage给收件人。同时,如果TMessage是一个接口,message类型实现了TMessage也将会传递给收件人。例如,如果SendOrderMessage和一个ExcuteOrderMessage实现了IOrderMessage接口,为IOrderMessage注册和设置receiveDerivedMessagesToo为true将会发送SendOrderMessage和ExecuteOrderMessage给那个注册了的收件人。

             消息发送时,执行的动作

  • 相关阅读:
    phrase(短语)
    AS3版MP3播放器核心
    内存回收机制
    检测FPS和内存占用
    NetConnection读取asp.net
    基于flash AS3.0 的BASE64编码与解码类
    as3访问WebService,SOAP协议
    六种角度看OCA与OCP、OCM区别
    ORACLE报表触发器
    ORACLE EBS常用表
  • 原文地址:https://www.cnblogs.com/gengyuanchao/p/2878525.html
Copyright © 2011-2022 走看看