public void RegisterEventSubscriber(IEventAggregatorSubscriber subscriber) { if (!m_eventSubscribers.Contains(subscriber)) { m_eventSubscribers.Add(subscriber); } }
public void UnRegisterEventSubscriber(IEventAggregatorSubscriber subscriber) { if (m_eventSubscribers.Contains(subscriber)) { subscriber.UnSubscribe(); m_eventSubscribers.Remove(subscriber); } }
private void OnLeaveCase(string caseName) { Framework.Container.Instance.EvtAggregator.GetEvent <NavigateEvent>().Publish(UIFuncItemInfo.MYCASELIST); // 移除与Case 相关的界面 ucContentBase contentPage; foreach (UIFunctionEnum key in m_UIFuncsDependonCase) { contentPage = m_DTFunction2TabPage[key]; m_tabCtrlContainer.Controls.Remove(contentPage); m_DTFunction2TabPage.Remove(key); IEventAggregatorSubscriber subscriber = contentPage.DataSource as IEventAggregatorSubscriber; if (subscriber != null) { Framework.Container.Instance.UnRegisterEventSubscriber(subscriber); } } m_UIFuncsDependonCase.Clear(); }