/// <summary> /// Adds or removes handlers to Shutdown dispatcher event depending on the specified /// parameters. /// </summary> static private void AddRemoveShutdownEvents(Dispatcher dispatcher, DispatcherShutdownEventsNames eventName, EventHandler callback, bool add) { int action = (int)eventName; switch (action) { case 0: if (add) { dispatcher.ShutdownStarted += callback; } else { dispatcher.ShutdownStarted -= callback; } break; case 1: if (add) { dispatcher.ShutdownFinished += callback; } else { dispatcher.ShutdownFinished -= callback; } break; } }
/// <summary> /// Adds or removes handlers to Shutdown dispatcher event depending on the specified /// parameters. /// </summary> static public void RemoveHandlerShutdownEvents(Dispatcher dispatcher, DispatcherShutdownEventsNames eventName, EventHandler callback) { AddRemoveShutdownEvents(dispatcher, eventName, callback, false); }
/// <summary> /// Adds or removes handlers to Shutdown dispatcher event depending on the specified /// parameters. /// </summary> static public void AddHandlerShutdownEvents(DispatcherShutdownEventsNames eventName, EventHandler callback) { AddRemoveShutdownEvents(Dispatcher.CurrentDispatcher, eventName, callback, true); }