예제 #1
0
        public void ExcuteCommand(IZView view, int command, params object[] param)
        {
            if (!viewDic.ContainsKey(view))
            {
                return;
            }
            var controller = viewDic[view];

            controller.ExecuteCommand(command, param);
        }
예제 #2
0
        public void UnBindProperty <T>(IZView view, string propName, OnValueChangedHandler <T> handler)
        {
            if (!viewDic.ContainsKey(view))
            {
                return;
            }
            var prop = viewDic[view].ViewModel.GetType().GetProperty(propName) as PropertyBase <T>;

            prop.valueChangeEvent -= handler;
        }
예제 #3
0
 void Update()
 {
     while (closeViewQueue.Count != 0)
     {
         IZView       view       = closeViewQueue.Dequeue();
         IZController controller = viewDic[view];
         view.Close();
         controller.Disabled();
         viewDic.Remove(view);
         controllerDic[controller].Remove(view);
         if (controllerDic.Count <= 0)
         {
             controllerDic.Remove(controller);
         }
     }
 }
예제 #4
0
        public IZView OpenView <TView, TController>()
            where TView : class, IZView
            where TController : class, IZController
        {
            IZView       view       = ObjectFactory.GetFactory(FactoryType.Temp).CreateObject <TView>() as IZView;
            IZController controller = ObjectFactory.GetFactory(FactoryType.Temp).CreateObject <IZController>() as IZController;

            if (!viewDic.ContainsKey(view))
            {
                //加载View资源
                //初始化
                view.Init();
                controller.Enabled();
            }
            view.Open();
            return(view);
        }
예제 #5
0
        public void BindProperty <T>(IZView view, string propName, OnValueChangedHandler <T> handler)
        {
//            if (!viewDic.ContainsKey(view)) return;
//            var prop = viewDic[view].ViewModel.GetType().GetProperty(propName) as PropertyBase<T>;
//            prop.ValueChangedChangeEvent += handler;
        }