Example #1
0
        /// <summary>
        /// 创建新窗体导航消息
        /// </summary>
        /// <param name="exportViewkey">显示的View</param>
        /// <param name="parameter">创建View时的参数</param>
        /// <param name="showInTaskBar">是否显示任务条</param>
        /// <param name="isTopMost">是否置顶显示</param>
        /// <returns></returns>
        public static NormalNavigationArgs CreateWindowNavigationArgs(string exportViewkey, object parameter, bool showInTaskBar = false, bool isTopMost = false)
        {
            NormalNavigationArgs argsResult = new NormalNavigationArgs(exportViewkey, parameter, showInTaskBar, isTopMost);

            //记录导航日志
            NavigationLogHelper.AddNavigationLog(argsResult, true);
            return(argsResult);
        }
Example #2
0
        /// <summary>
        /// 创建主界面导航消息
        /// </summary>
        /// <param name="exportViewkey">显示的View</param>
        /// <param name="parameter">创建View时的参数</param>
        /// <param name="isBackArgs">是否为返回消息</param>
        /// <returns></returns>
        public static NormalNavigationArgs CreateMainViewNavigationArgs(string exportViewkey, object parameter, bool isBackArgs = false)
        {
            NormalNavigationArgs argsResult = new NormalNavigationArgs(exportViewkey, parameter);

            argsResult.IsBackArgs = isBackArgs;
            //记录导航日志
            NavigationLogHelper.AddNavigationLog(argsResult, false);
            return(argsResult);
        }
Example #3
0
        /// <summary>
        /// 设置子界面状态
        /// </summary>
        /// <param name="isExpanded">是否展开创建案例界面</param>
        /// <param name="needCollapsedNavigation">是否需要折叠导航,true:折叠案例编辑界面时自动返回最后一个非案例编辑界面</param>
        public static void SetEditCaseViewStatus(bool isExpanded, bool needCollapsedNavigation = true)
        {
            CurEditViewOpenStatus = isExpanded;

            //便于以后扩展用
            SubViewMsgModel curStatus = new SubViewMsgModel(isExpanded);
            //展开或收起案例名
            SysCommonMsgArgs <SubViewMsgModel> sysArgs = new SysCommonMsgArgs <SubViewMsgModel>(SystemKeys.SetSubViewStatus);

            sysArgs.Parameters = curStatus;
            MsgAggregation.Instance.SendSysMsg <SubViewMsgModel>(sysArgs);

            if (isExpanded)
            {
                //展开案例编辑界面
                NormalNavigationArgs args = NormalNavigationArgs.CreateMainViewNavigationArgs(ExportKeys.CaseCreationView, null);
                MsgAggregation.Instance.SendNavigationMsgForMainView(args);
            }
            else if (needCollapsedNavigation)
            {
                /*
                 * TODO
                 * 此处特殊处理
                 * 因为案例编辑界面是固定的子界面
                 * 同时为了防止返回时界面状态丢失
                 * 所以将打开案例管理界面之前的界面缓存
                 * 在发送导航消息时【参数就是缓存的上一个界面】
                 *
                 * beforeViewOnIsExpanded==null:刚启动程序,登录进入主界面。由于逻辑问题会在登录后执行一次返回
                 *
                 */

                //折叠,还原为上个界面
                var beforeViewKey = NavigationLogHelper.GetBeforeViewKeyBySkipKeyAtMainView(ExportKeys.CaseCreationView);
                if (!string.IsNullOrWhiteSpace(beforeViewKey))
                {
                    NormalNavigationArgs args = beforeViewOnIsExpanded == null?
                                                NormalNavigationArgs.CreateMainViewNavigationArgs(beforeViewKey, null) : NormalNavigationArgs.CreateMainViewNavigationArgs(beforeViewKey, beforeViewOnIsExpanded, true);

                    MsgAggregation.Instance.SendNavigationMsgForMainView(args);
                }
            }
        }