示例#1
0
 public void RegisterEventSubscriber(IEventAggregatorSubscriber subscriber)
 {
     if (!m_eventSubscribers.Contains(subscriber))
     {
         m_eventSubscribers.Add(subscriber);
     }
 }
示例#2
0
 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();
        }