public void ExitPage(MenuBehaviorType behaviorType, string pageName) { switch (behaviorType) { case MenuBehaviorType.ExitCurrentPage: var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(pageName)); if (page.HeaderName != "系统首页") { OpenPageCollection.Remove(page); } break; case MenuBehaviorType.ExitAllPage: var pageList = OpenPageCollection.Where(t => t.HeaderName != "系统首页").ToList(); if (pageList != null) { pageList.ForEach(t => { OpenPageCollection.Remove(t); }); } break; case MenuBehaviorType.ExitAllExcept: var pageListExcept = OpenPageCollection.Where(t => t.HeaderName != pageName && t.HeaderName != "系统首页").ToList(); if (pageListExcept != null) { pageListExcept.ForEach(t => { OpenPageCollection.Remove(t); }); } break; } }
/// <summary> /// 执行模块 /// </summary> /// <param name="module"></param> private async void Excute(Module module) { try { if (module == null || string.IsNullOrEmpty(module.Code)) { return; } if (module.Code == "OutDlg") { var relst = MessageBox.Show("是否要退出程序", "提示信息", MessageBoxButton.YesNo, MessageBoxImage.Question); if (relst == MessageBoxResult.Yes) { this.ApplicationShutdown(); } } var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(module.Name)); if (page != null) { CurrentPage = page; return; } if (string.IsNullOrWhiteSpace(module.Code)) { //404页面 //DefaultViewPage defaultViewPage = new DefaultViewPage(); //OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = defaultViewPage }); //CurrentPage = defaultViewPage; } else { await Task.Factory.StartNew(() => { var dialog = ServiceProvider.Instance.Get <IModel>(module.Code); dialog.BindDefaultModel(); OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = dialog.GetView() }); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext()); } CurrentPage = OpenPageCollection[OpenPageCollection.Count - 1]; } catch (Exception ex) { Msg.Error(ex.Message); } finally { //Messenger.Default.Send(false, "PackUp"); GC.Collect(); } }
/// <summary> /// 关闭页面 /// </summary> /// <param name="module"></param> private void ExitPage(PageInfo module) { try { var tab = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(module.HeaderName)); if (tab.HeaderName != "系统首页") { OpenPageCollection.Remove(tab); } } catch (Exception ex) { Msg.Error(ex.Message); } }
/// <summary> /// 执行模块 /// </summary> /// <param name="module"></param> private async void Excute(Module module) { try { var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(module.Name)); if (page != null) { CurrentPage = page; return; } if (module.ModNameSpcae == null) { DefaultViewPage defaultViewPage = new DefaultViewPage(); OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = defaultViewPage }); CurrentPage = defaultViewPage; } else { await Task.Run(() => { App.Current.Dispatcher.Invoke(() => { var ass = System.Reflection.Assembly.GetExecutingAssembly(); if (ass.CreateInstance(module.ModNameSpcae) is IModel dialog) { dialog.BindDefaultModel(module.Authorities); OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = dialog.GetView() }); } }); }); } CurrentPage = OpenPageCollection[OpenPageCollection.Count - 1]; } catch (Exception ex) { Msg.Error(ex.Message, false); } finally { Messenger.Default.Send(false, "PackUp"); GC.Collect(); } }
/// <summary> /// 初始化首页 /// </summary> public void InitDefaultView() { //初始化工具栏,通知窗口 _PopBoxView = new PopBoxViewModel(); _NoticeView = new NoticeViewModel(); //加载窗体模块 _ModuleManager = new ModuleManager(); _ModuleManager.LoadModules(); //设置系统默认首页 var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals("系统首页")); if (page == null) { HomeAbout about = new HomeAbout(); OpenPageCollection.Add(new PageInfo() { HeaderName = "系统首页", Body = about }); CurrentPage = about; } }
/// <summary> /// 执行模块 /// </summary> /// <param name="module"></param> private async void Excute(Module module) { try { var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(module.Name)); if (page != null) { CurrentPage = page; return; } if (string.IsNullOrWhiteSpace(module.Code)) { //404页面 //DefaultViewPage defaultViewPage = new DefaultViewPage(); //OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = defaultViewPage }); //CurrentPage = defaultViewPage; } else { await Task.Factory.StartNew(() => { var dialog = ServiceProvider.Instance.Get <IModel>(module.Code); dialog.BindDefaultModel(); OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = dialog.GetView() }); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext()); } CurrentPage = OpenPageCollection[OpenPageCollection.Count - 1]; } catch (Exception ex) { Msg.Error(ex.Message); } finally { Messenger.Default.Send(false, "PackUp"); GC.Collect(); } }
/// <summary> /// 初始化首页 /// </summary> public async void InitDefaultView() { //初始化工具栏,通知窗口 _PopBoxView = new PopBoxViewModel(); _NoticeView = new NoticeViewModel(); //加载窗体模块 _ModuleManager = new ModuleManager(); await _ModuleManager.LoadModules(); //设置系统默认首页 var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals("系统首页")); if (page == null) { //演示Demo加载默认首页,较消耗性能。 实际开发务移除患者更新开发部件。 HomeAbout about = new HomeAbout(); OpenPageCollection.Add(new PageInfo() { HeaderName = "系统首页", Body = about }); CurrentPage = OpenPageCollection[OpenPageCollection.Count - 1]; } }
private async void PageChange(MeumModel module) { var page = OpenPageCollection.FirstOrDefault(t => t.HeaderName.Equals(module.Name)); if (page != null) { CurrentPage = page; return; } else { await Task.Factory.StartNew(() => { var dialog = ServiceProvider.Instance.Get <IModel>(module.Code); dialog.BindDefaultModel(); OpenPageCollection.Add(new PageInfo() { HeaderName = module.Name, Body = dialog.GetView() }); }, CancellationToken.None, TaskCreationOptions.None, TaskScheduler.FromCurrentSynchronizationContext()); CurrentPage = OpenPageCollection[OpenPageCollection.Count - 1]; } }