예제 #1
0
        public MessageListener(InteractionMessenger messenger, string messageKey, Action <InteractionMessage> action)
            : this(messenger)
        {
            if (messageKey == null)
            {
                messageKey = string.Empty;
            }

            RegisterAction(messageKey, action);
        }
예제 #2
0
 public MessageListener(InteractionMessenger messenger)
 {
     Dispatcher = Dispatcher.CurrentDispatcher;
     _source    = new WeakReference <InteractionMessenger>(messenger);
     _listener  = new LivetWeakEventListener <EventHandler <InteractionMessageRaisedEventArgs>, InteractionMessageRaisedEventArgs>
                  (
         h => h,
         h => messenger.Raised += h,
         h => messenger.Raised -= h,
         MessageReceived
                  );
 }
예제 #3
0
        public MessageListener([NotNull] InteractionMessenger messenger, [CanBeNull] string messageKey,
                               [NotNull] Action <InteractionMessage> action)
            : this(messenger)
        {
            if (action == null)
            {
                throw new ArgumentNullException(nameof(action));
            }
            if (messageKey == null)
            {
                messageKey = string.Empty;
            }

            RegisterAction(messageKey, action);
        }
예제 #4
0
        public MessageListener([NotNull] InteractionMessenger messenger)
        {
            if (messenger == null)
            {
                throw new ArgumentNullException(nameof(messenger));
            }

            _dispatcher = Dispatcher.CurrentDispatcher;
            _source     = new WeakReference <InteractionMessenger>(messenger);
            _listener   =
                new LivetWeakEventListener <EventHandler <InteractionMessageRaisedEventArgs>,
                                            InteractionMessageRaisedEventArgs>
                (
                    h => h,
                    h => messenger.Raised += h,
                    h => messenger.Raised -= h,
                    MessageReceived
                );
        }
예제 #5
0
 public MessageListener([NotNull] InteractionMessenger messenger, [NotNull] Action <InteractionMessage> action)
     : this(messenger, null, action)
 {
 }
예제 #6
0
 public MessageListener(InteractionMessenger messenger, Action <InteractionMessage> action)
     : this(messenger, null, action)
 {
 }