/// <summary> /// Registers an object for message handling /// </summary> /// <typeparam name="TMessage">message type</typeparam> /// <param name="injectionScope"></param> /// <param name="injectionContext"></param> /// <param name="injectionTaget"></param> /// <param name="messageHandlerInfo"></param> /// <param name="token"></param> /// <param name="holdRefernce"></param> /// <param name="background"></param> public static void RegisterMethodAsMessageHandler <TMessage>(IInjectionScope injectionScope, IInjectionContext injectionContext, object injectionTaget, MethodInfoWrapper messageHandlerInfo, object token, bool holdRefernce, bool background) { Action <TMessage> messageHandler = (Action <TMessage>)messageHandlerInfo.MethodInfo.CreateDelegate(typeof(Action <TMessage>), injectionTaget); IDispatchedMessenger messenger = injectionScope.Locate <IDispatchedMessenger>(); if (messenger == null) { throw new Exception("Attempting to register handler " + messageHandlerInfo.MethodInfo.Name + " and could not locate IDispatchedMessenger"); } messenger.Register(messageHandler, token, holdRefernce, background); }
public SecondWindowViewModel(IDispatchedMessenger dispatchedMessenger) { _dispatchedMessenger = dispatchedMessenger; }