wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
HDL_ON/UI/UI0-Stan/Logic/HdlFormLogic.cs
old mode 100755 new mode 100644
@@ -115,6 +115,8 @@
                try
                {
                    var Myform = actionForm as EditorCommonForm;
                    //重置左滑使能
                    Myform.ScrollLeftEnabled = Myform.ScrollLeftEnabled;
                    //触发界面再次激活的事件
                    Myform.FormActionAgainEvent();
                }
@@ -147,7 +149,8 @@
        /// 设备状态更新推送
        /// </summary>
        /// <param name="i_LocalDevice">本地设备对象</param>
        public void DeviceStatuPush(Entity.Function i_LocalDevice)
        /// <param name="refreshCardContr">是否刷新主页,分类,房间等等的设备卡片的状态,默认不刷新(此变量目前是给bus接收那里使用的)</param>
        public void DeviceStatuPush(Entity.Function i_LocalDevice, bool refreshCardContr = false)
        {
            HdlThreadLogic.Current.RunMain(() =>
            {
@@ -155,14 +158,66 @@
                {
                    this.ListActionForm[i]?.DeviceStatuPush(i_LocalDevice);
                }
                if (refreshCardContr == true)
                {
                    //刷新主页,分类,房间等等的设备卡片状态
                    this.RefreshAllDeviceCardControl(i_LocalDevice);
                }
            }, ShowErrorMode.NO);
        }
        #endregion
        #region ■ 手动刷新各设备卡片_________________
        /// <summary>
        /// 手动刷新主页,分类,房间等等的设备卡片状态
        /// </summary>
        /// <param name="i_device">需要刷新的设备对象</param>
        public void RefreshAllDeviceCardControl(Entity.Function i_device)
        {
            //刷新主页
            UI.HomePage.UpdataFunctionStates(i_device);
            //刷新分类
            UI.ClassificationPage.UpdataInfo(i_device);
            //刷新房间
            UI.RoomPage.UpdataStates(i_device);
            //刷新功能
            UI.FunctionPage.UpdataStates(i_device);
        }
        #endregion
        #region ■ 一般方法___________________________
        /// <summary>
        /// 关闭所有打开了的界面
        /// </summary>
        /// <param name="tagetFrom">目标界面,如果指定了的话,则关闭目标界面上层的全部界面(它自身不关闭)</param>
        public void CloseAllOpenForm(string tagetFrom = null)
        {
            //最后一个是装载主页的容器,所以不能删除
            while (MainPage.BasePageView.ChildrenCount > 1)
            {
                var view = MainPage.BasePageView.GetChildren(MainPage.BasePageView.ChildrenCount - 1);
                if (view is CommonFormBase)
                {
                    if (((CommonFormBase)view).FormID == tagetFrom)
                    {
                        //只关闭到指定目标界面
                        return;
                    }
                    ((CommonFormBase)view).CloseForm();
                }
                else
                {
                    view.RemoveFromParent();
                }
            }
        }
        /// <summary>
        /// 获取当前正在激活的界面
        /// </summary>
        /// <returns></returns>