From 05ce435c3b58e53eeab04c672affdeeab75f3036 Mon Sep 17 00:00:00 2001
From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local>
Date: 星期五, 15 十一月 2019 14:41:39 +0800
Subject: [PATCH] 2019.11.15-1

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs |  131 ++++++++++++++++++++++++++++++++++++-------
 1 files changed, 110 insertions(+), 21 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
index 1041b41..7b0c5ef 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/FrameLayoutControls/FrameLayoutControl.cs
@@ -36,6 +36,17 @@
         /// </summary>
         public int chidrenYaxis = 0;
 
+        /// <summary>
+        /// 鍦嗚搴�(瀹夊崜鍜孖OS鎴栬闇�瑕侀缂栬瘧)
+        /// </summary>
+        public uint RadiusEx
+        {
+            set
+            {
+                this.Radius = value;
+            }
+        }
+
         #endregion
 
         #region 鈻� 鍒濆鍖朹____________________________
@@ -50,7 +61,15 @@
 
             this.MouseUpEventHandler += ChildrenUpEvent;
             this.MouseDownEventHandler += ChildrenDownEvent;
-        }
+        }
+
+        /// <summary>
+        /// 鍋氭垚涓�涓櫘閫氱殑FrameLayout鎺т欢
+        /// </summary>
+        /// <param name="flage">娌″暐鐢ㄧ殑涓滆タ</param>
+        public FrameLayoutControl(bool flage)
+        {
+        }
 
         #endregion
 
@@ -63,14 +82,21 @@
         /// <param name="chidrenBindMode">鍙樻洿鐨勭粦瀹氭ā寮�</param>
         public void ChangedChidrenBindMode(View view, ChidrenBindMode chidrenBindMode)
         {
-            if (view is Button)
+            if (view is ButtonBase)
             {
                 //瀛愭帶浠剁Щ闄や簨浠�
-                Button button = (Button)view;
-                button.MouseUpEventHandler -= ChildrenUpEvent;
+                ButtonBase button = (ButtonBase)view;
+                button.ButtonClickEvent -= ChildrenUpEvent;
                 button.MouseDownEventHandler -= ChildrenDownEvent;
 
                 this.BindChidrenEvent(view, chidrenBindMode);
+            }
+            else if (view is ImageView)
+            {
+                view.MouseUpEventHandler -= ChildrenUpEvent;
+                view.MouseDownEventHandler -= ChildrenDownEvent;
+
+                this.BindChidrenEvent(view, chidrenBindMode);
             }
             else if (view is ViewGroup)
             {
@@ -82,11 +108,11 @@
                     {
                         break;
                     }
-                    if (myView is Button)
+                    if (myView is ButtonBase)
                     {
                         //瀛愭帶浠剁Щ闄や簨浠�
-                        Button button = (Button)myView;
-                        button.MouseUpEventHandler -= ChildrenUpEvent;
+                        ButtonBase button = (ButtonBase)myView;
+                        button.ButtonClickEvent -= ChildrenUpEvent;
                         button.MouseDownEventHandler -= ChildrenDownEvent;
                     }
                 }
@@ -105,17 +131,30 @@
         /// <param name="chidrenBindMode"></param>
         private void BindChidrenEvent(View view, ChidrenBindMode chidrenBindMode)
         {
-            if (view is Button && chidrenBindMode != ChidrenBindMode.NotBind)
+            if (chidrenBindMode == ChidrenBindMode.NotBind)
+            {
+                return;
+            }
+            if (view is ButtonBase)
             {
                 //涓哄瓙鎺т欢娣诲姞浜嬩欢
-                Button button = (Button)view;
-                button.MouseUpEventHandler -= ChildrenUpEvent;
+                ButtonBase button = (ButtonBase)view;
+                button.ButtonClickEvent -= ChildrenUpEvent;
                 button.MouseDownEventHandler -= ChildrenDownEvent;
 
-                button.MouseUpEventHandler += ChildrenUpEvent;
+                button.ButtonClickEvent += ChildrenUpEvent;
                 button.MouseDownEventHandler += ChildrenDownEvent;
             }
-            else if (view is ViewGroup && chidrenBindMode != ChidrenBindMode.NotBind)
+            else if (view is ImageView)
+            {
+                //鑷韩涔熸坊鍔犱簨浠�
+                view.MouseUpEventHandler -= ChildrenUpEvent;
+                view.MouseDownEventHandler -= ChildrenDownEvent;
+
+                view.MouseUpEventHandler += ChildrenUpEvent;
+                view.MouseDownEventHandler += ChildrenDownEvent;
+            }
+            else if (view is ViewGroup)
             {
                 //涓哄瓙鎺т欢娣诲姞浜嬩欢
                 ViewGroup groupContr = (ViewGroup)view;
@@ -126,14 +165,14 @@
                     {
                         break;
                     }
-                    if (myView is Button)
+                    if (myView is ButtonBase)
                     {
                         //涓哄瓙鎺т欢娣诲姞浜嬩欢
-                        Button button = (Button)myView;
-                        button.MouseUpEventHandler -= ChildrenUpEvent;
+                        ButtonBase button = (ButtonBase)myView;
+                        button.ButtonClickEvent -= ChildrenUpEvent;
                         button.MouseDownEventHandler -= ChildrenDownEvent;
 
-                        button.MouseUpEventHandler += ChildrenUpEvent;
+                        button.ButtonClickEvent += ChildrenUpEvent;
                         button.MouseDownEventHandler += ChildrenDownEvent;
                     }
                 }
@@ -191,8 +230,24 @@
         /// <param name="e">E.</param>
         private void ChildrenUpEvent(object sender, MouseEventArgs e)
         {
-            //璋冪敤濮旀墭
-            ButtonClickEvent?.Invoke(sender, e);
+            if (sender is FrameLayoutControl)
+            {
+                //LOG鍑哄姏
+                this.WriteLog();
+            }
+            try
+            {
+                //璋冪敤濮旀墭
+                ButtonClickEvent?.Invoke(sender, e);
+            }
+            catch (Exception ex)
+            {
+                //鍑虹幇鏈煡閿欒
+                var alert = new ShowMsgControl(ShowMsgType.Error, Language.StringByID(R.MyInternationalizationString.uUnKnownError));
+                alert.Show();
+                //Log鍑哄姏
+                HdlLogLogic.Current.WriteLog(ex);
+            }
         }
 
         #endregion
@@ -247,7 +302,7 @@
 
             //璁剧疆閫夋嫨鐘舵��
             this.SetClickSelectStatu();
-            new System.Threading.Thread(() =>
+            HdlThreadLogic.Current.RunThread(() =>
             {
                 System.Threading.Thread.Sleep(waiTime);
                 Application.RunOnMainThread(() =>
@@ -255,8 +310,7 @@
                     //璁剧疆涓嶉�夋嫨鐘舵��
                     this.SetClickNotSelectStatu();
                 });
-            })
-            { IsBackground = true }.Start();
+            });
         }
 
         /// <summary>
@@ -280,5 +334,40 @@
         }
 
         #endregion
+
+        #region 鈻� Log鍑哄姏____________________________
+
+        /// <summary>
+        /// 璇ユ帶浠舵墍灞炵殑鐣岄潰鍚嶅瓧
+        /// </summary>
+        private string formName = null;
+
+        /// <summary>
+        /// Log鍑哄姏
+        /// </summary>
+        private void WriteLog()
+        {
+            if (formName == null)
+            {
+                formName = string.Empty;
+                View myView = this.Parent;
+                for (; ; )
+                {
+                    if (myView == null)
+                    {
+                        break;
+                    }
+                    else if (myView is CommonFormBase)
+                    {
+                        formName = ((CommonFormBase)myView).FormID;
+                        break;
+                    }
+                    myView = myView.Parent;
+                }
+            }
+            HdlLogLogic.Current.WriteLog(1, formName + ".FrameLayoutControl 琚偣鍑�");
+        }
+
+        #endregion
     }
 }

--
Gitblit v1.8.0