private string ExecuteCreateCaseCommand() { //展开创建案例界面 EditCaseNavigationHelper.SetEditCaseViewStatus(true); return("打开新建案例"); }
//主界面导航回调 private void MainNavigationCallback(NormalNavigationArgs args) { /* * TODO * 由于设备主页是整个程序共享的 * 所以在跳转的时候,需要先判断缓存中是否有对应Token的缓存界面 * 没有则创建新的设备主页 * */ UcViewBase targetView = null; if (args.IsBackArgs) { //返回前一个界面 targetView = args.Parameter as UcViewBase; } else { /* * TODO * 由于设备是多路提取,所以设备主页以及附属内容需要缓存 * 当案例编辑界面展开,此时的所有导航都需要折叠案例编辑界面 * */ if (EditCaseNavigationHelper.CurEditViewOpenStatus) { //折叠案例编辑界面 EditCaseNavigationHelper.SetEditCaseViewStatus(false, false); } if (args.MsgToken == ExportKeys.DeviceMainView) { var devTmp = args.Parameter as DeviceExtractionAdorner; if (devTmp != null && devTmp.Device != null) { PreCacheToken delToken = new PreCacheToken(devTmp.Device.ID, ExportKeys.DeviceMainView); if (!SystemContext.Instance.CurCacheViews.TryGetFirstView(delToken, out targetView)) { targetView = NavigationViewCreater.CreateView(args.MsgToken, args.Parameter); SystemContext.Instance.CurCacheViews.AddViewCache(delToken, targetView); } } } else { //记录打开案例编辑界面之前的页面,方便返回使用 EditCaseNavigationHelper.RecordBeforeViewOnisExpanded(MainView); targetView = NavigationViewCreater.CreateView(args.MsgToken, args.Parameter); } } MainView = targetView; }
private void Instance_CaseChanged(object sender, PropertyChangedEventArgs <Project.CaseManagement.Case> e) { if (e.NewValue == null) { IsShowCurCaseNameRow = false; IsShowDeviceListRow = false; EditCaseNavigationHelper.ResetCurCaseStatus(); //清除界面缓存 SystemContext.Instance.CurCacheViews.Clear(); } else { IsShowDeviceListRow = true; IsShowCurCaseNameRow = true; } }
//打开案例编辑界面 private void ExecuteOpenCaseEditCommand() { EditCaseNavigationHelper.SetEditCaseViewStatus(!EditCaseNavigationHelper.CurEditViewOpenStatus); }