陈嘉乐
2020-06-24 adb12dcdbb2ddaeac687c3aa9e57bb7ed459ab7e
ZigbeeApp/Shared/Phone/CommonForm/CommonFormBase.cs
@@ -143,7 +143,8 @@
        /// </summary>
        /// <param name="gateWay">网关对象</param>
        /// <param name="online">在线状态变更后的状态</param>
        public virtual void GatewayOnlinePush(ZigBee.Device.ZbGateway gateWay, bool online)
        /// <param name="hadGwOnline">2020.05.25追加:此住宅是否拥有网关在线</param>
        public virtual void GatewayOnlinePush(ZigBee.Device.ZbGateway gateWay, bool online, bool hadGwOnline)
        {
        }
@@ -287,8 +288,73 @@
            return HdlControlLogic.Current.GetPictrueRealSize(i_size);
        }
        /// <summary>
        /// 判断指定的界面是否打开
        /// </summary>
        /// <param name="formId"></param>
        /// <returns></returns>
        public bool IsFormOpen(string formId)
        {
            return UserCenterResourse.DicActionForm.ContainsKey(formId);
        }
        #endregion
        #region ■ 检测错误___________________________
        /// <summary>
        /// 检测界面的错误
        /// </summary>
        /// <returns></returns>
        public bool CheckForm()
        {
            //检测控件
            return this.CheckControl(this);
        }
        /// <summary>
        /// 检测控件
        /// </summary>
        /// <param name="view"></param>
        /// <returns></returns>
        private bool CheckControl(View view)
        {
            //第一个进来肯定是 ViewGroup
            if (view is ViewGroup)
            {
                var viewGroup = (ViewGroup)view;
                for (int i = 0; i < viewGroup.ChildrenCount; i++)
                {
                    var myView = viewGroup.GetChildren(i);
                    if (myView is ViewGroup)
                    {
                        //递归检测
                        bool result = this.CheckControl(myView);
                        if (result == false)
                        {
                            return false;
                        }
                        continue;
                    }
                    if (myView is TextInputControl)
                    {
                        //检测输入框的错误
                        var error = ((TextInputControl)myView).CheckError();
                        if (error != null)
                        {
                            this.ShowMassage(ShowMsgType.Tip, error);
                            ((TextInputControl)myView).OnError = true;
                            return false;
                        }
                        ((TextInputControl)myView).OnError = false;
                    }
                }
            }
            return true;
        }
        #endregion
        #region ■ 反射方法___________________________
        /// <summary>