public void ExcuteCommand(IZView view, int command, params object[] param) { if (!viewDic.ContainsKey(view)) { return; } var controller = viewDic[view]; controller.ExecuteCommand(command, param); }
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; }
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); } } }
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); }
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; }