| | |
| | | var actionForm = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
|
| | | if (actionForm != null && actionForm is CommonFormBase)
|
| | | {
|
| | | //设置当前激活的画面ID
|
| | | UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
|
| | | //追加条件一:关闭的界面为EditorCommonForm的时候才处理
|
| | | if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
|
| | | {
|
| | | try
|
| | | {
|
| | | EditorCommonForm Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
|
| | | if (Myform != null)
|
| | | {
|
| | | //重置左滑使能
|
| | | Myform.ScrollEnabled = Myform.ScrollEnabled;
|
| | | //触发界面再次激活的事件
|
| | | int value = Myform.FormActionAgainEvent();
|
| | | if (value == 1)
|
| | | {
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 被激活");
|
| | | }
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | |
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(ex);
|
| | | }
|
| | | }
|
| | | //调用界面重新激活的函数
|
| | | CallFormActionAgainEvent(form, index);
|
| | | }
|
| | | else if (actionForm != null && actionForm is UserView.UserPage)
|
| | | {
|
| | | //这里它已经退到主页了,如果它包含个人中心主页的话
|
| | | if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true)
|
| | | //这里它已经退到主页了
|
| | | if (UserCenterResourse.listActionFormId.Contains("UserMainForm") == true//个人中心
|
| | | || UserCenterResourse.listActionFormId.Contains("HomeMainPageForm") == true)//
|
| | | {
|
| | | //设置当前激活的画面ID
|
| | | UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
|
| | | //追加条件一:关闭的界面为EditorCommonForm的时候才处理
|
| | | if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
|
| | | {
|
| | | try
|
| | | {
|
| | | EditorCommonForm Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
|
| | | if (Myform != null)
|
| | | {
|
| | | //重置左滑使能
|
| | | Myform.ScrollEnabled = Myform.ScrollEnabled;
|
| | | //触发界面再次激活的事件
|
| | | int value = Myform.FormActionAgainEvent();
|
| | | if (value == 1)
|
| | | {
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 被激活");
|
| | | }
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | |
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(ex);
|
| | | }
|
| | | }
|
| | | //调用界面重新激活的函数
|
| | | CallFormActionAgainEvent(form, index);
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | UserCenterResourse.listActionFormId.Remove(UserCenterResourse.DicActionForm[formName].FormID);
|
| | | //移除画面
|
| | | UserCenterResourse.DicActionForm.Remove(formName);
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 调用界面重新激活的函数
|
| | | /// </summary>
|
| | | /// <param name="form">关闭的界面对象</param>
|
| | | /// <param name="index">当前需要重新激活界面的索引</param>
|
| | | private static void CallFormActionAgainEvent(CommonFormBase form, int index)
|
| | | {
|
| | | //设置当前激活的画面ID
|
| | | UserCenterResourse.NowActionFormID = UserCenterResourse.listActionFormId[index];
|
| | | //追加条件一:关闭的界面为EditorCommonForm的时候才处理
|
| | | if ((form is EditorCommonForm) && UserCenterResourse.DicActionForm.ContainsKey(UserCenterResourse.NowActionFormID) == true)
|
| | | {
|
| | | try
|
| | | {
|
| | | var Myform = UserCenterResourse.DicActionForm[UserCenterResourse.NowActionFormID] as EditorCommonForm;
|
| | | //重置左滑使能
|
| | | Myform.ScrollEnabled = Myform.ScrollEnabled;
|
| | | //触发界面再次激活的事件
|
| | | int value = Myform.FormActionAgainEvent();
|
| | | if (value == 1)
|
| | | {
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(1, Myform.FormID + " 被激活");
|
| | | }
|
| | | }
|
| | | catch (Exception ex)
|
| | | {
|
| | | //出现未知错误,数据丢失
|
| | | var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
|
| | | alert.Show();
|
| | |
|
| | | //Log出力
|
| | | HdlLogLogic.Current.WriteLog(ex, "界面重新激活异常");
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | |
| | | while (UserView.HomePage.Instance.ChildrenCount > 0)
|
| | | {
|
| | | var view = UserView.HomePage.Instance.GetChildren(UserView.HomePage.Instance.ChildrenCount - 1);
|
| | | //(因底层控件修改了, 父控件移除时, 不触发子控件的移除事件)
|
| | | if (view is ViewGroup)
|
| | | {
|
| | | //关闭加载在ViewGroup里面的自定义界面Form
|
| | | CloseViewGroupChildren((ViewGroup)view);
|
| | | }
|
| | |
|
| | | if (view is CommonFormBase)
|
| | | {
|
| | | if (((CommonFormBase)view).FormID == tagetFrom)
|
| | |
| | | else
|
| | | {
|
| | | view.RemoveFromParent();
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 关闭加载在ViewGroup里面的自定义界面Form(因底层控件修改了,父控件移除时,不触发子控件的移除事件)
|
| | | /// </summary>
|
| | | /// <param name="group"></param>
|
| | | private static void CloseViewGroupChildren(ViewGroup group)
|
| | | {
|
| | | for (int i = 0; i < group.ChildrenCount; i++)
|
| | | {
|
| | | var view = group.GetChildren(i);
|
| | | if (view is CommonFormBase)
|
| | | {
|
| | | ((CommonFormBase)view).CloseForm();
|
| | | i--;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | {
|
| | | //APP缓存加载开始
|
| | | UserCenterResourse.AccountOption.AppCanSignout = false;
|
| | | //还原远程连接变量
|
| | | //还原远程连接权限变量
|
| | | ZigBee.Device.ZbGateway.AllowRemoteCtrl = true;
|
| | |
|
| | | //只有在住宅ID不一样的时候才做这个操作
|
| | |
| | | }
|
| | | catch { }
|
| | |
|
| | | //消息记录重新读取及检测
|
| | | ControlCommonResourse.ReadMessageAgain = true;
|
| | | ControlCommonResourse.HadNewMessage = false;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | for (int i = 0; i < ControlCommonResourse.listMessageManaContr.Count; i++)
|
| | | {
|
| | | //显示角标特效
|
| | | ControlCommonResourse.listMessageManaContr[i].IsSelected = false;
|
| | | }
|
| | | });
|
| | | //清空所有成员缓存
|
| | | ClearAllMemberMemory();
|
| | |
|
| | | //加载账号配置信息
|
| | | var optionInfo = UserCenterResourse.AccountOption.Load();
|
| | |
| | | return true;
|
| | | }
|
| | |
|
| | | /// <summary>
|
| | | /// 清空所有成员缓存
|
| | | /// </summary>
|
| | | private static void ClearAllMemberMemory()
|
| | | {
|
| | | //消息记录重新读取及检测
|
| | | ControlCommonResourse.ReadMessageAgain = true;
|
| | | ControlCommonResourse.HadNewMessage = false;
|
| | | HdlThreadLogic.Current.RunMain(() =>
|
| | | {
|
| | | for (int i = 0; i < ControlCommonResourse.listMessageManaContr.Count; i++)
|
| | | {
|
| | | //显示角标特效
|
| | | ControlCommonResourse.listMessageManaContr[i].IsSelected = false;
|
| | | }
|
| | | });
|
| | |
|
| | | //当前主页,场景和功能所选择的分支 1:场景 2:功能
|
| | | UserCenterResourse.ResidenceOption.HomeMainPageSwitchIndex = 1;
|
| | | //当前分类,场景和功能所选择的分支 0:场景 1:功能 2:自动化
|
| | | UserCenterResourse.ResidenceOption.CategoryPageSwitchIndex = 0;
|
| | | }
|
| | |
|
| | | #endregion
|
| | |
|
| | | #region ■ 初始化登陆账号的信息_______________
|