From 9a4b76398009cf76c508d61f7e48fb6f5cb7ac2d Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期二, 21 七月 2020 09:46:53 +0800
Subject: [PATCH] 请合并最新多功能面板代码

---
 ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs |  117 +++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 87 insertions(+), 30 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
index 4bab981..921cc7c 100755
--- a/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
+++ b/ZigbeeApp/Shared/Phone/MainPage/Controls/DeviceCard/Base/DeviceCardCommon.cs
@@ -93,7 +93,7 @@
             btnBackGroud.UnSelectedImagePath = "Item/FunctionCardView.png";
             btnBackGroud.SelectedImagePath = "Item/FunctionCardViewSelected.png";
             btnBackGroud.Gravity = Gravity.CenterHorizontal;
-            this.AddChidren(btnBackGroud, ChidrenBindMode.BindEventOnly);
+            this.AddChidren(btnBackGroud, ChidrenBindMode.BindEvent);
 
             //璁惧鍚嶇О鎺т欢
             this.btnDeviceName = new NormalViewControl(320, 63, true);
@@ -103,7 +103,7 @@
             btnDeviceName.TextColor = UserCenterColor.Current.TextGrayColor1;
             btnDeviceName.SelectedTextColor = UserCenterColor.Current.White;
             btnDeviceName.Text = Common.LocalDevice.Current.GetDeviceEpointName(i_device);
-            this.AddChidren(btnDeviceName, ChidrenBindMode.BindEventOnly);
+            this.AddChidren(btnDeviceName, ChidrenBindMode.BindEvent);
 
             //鏀堕泦鎺т欢
             this.btnCollect = new IconViewControl(107);
@@ -142,13 +142,13 @@
             fraDeviceRound.X = HdlControlLogic.Current.GetPictrueRealSize(44);
             fraDeviceRound.Y = HdlControlLogic.Current.GetPictrueRealSize(101);
             fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
-            this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEventOnly);
+            this.AddChidren(fraDeviceRound, ChidrenBindMode.BindEvent);
 
             //璁惧鍥炬爣鎺т欢
             this.btnDeviceIcon = new IconViewControl(86);
             btnDeviceIcon.Gravity = Gravity.Center;
             fraDeviceRound.AddChidren(btnDeviceIcon);
-            this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEventOnly);
+            this.ChangedChidrenBindMode(fraDeviceRound, ChidrenBindMode.BindEvent);
 
             //鐘舵�佹枃鏈帶浠�
             this.btnStatu = new NormalViewControl(HdlControlLogic.Current.GetPictrueRealSize(300), HdlControlLogic.Current.GetPictrueRealSize(63), false);
@@ -157,7 +157,7 @@
             btnStatu.TextColor = UserCenterColor.Current.TextColor1;
             btnStatu.SelectedTextColor = Common.ZigbeeColor.Current.GXCTextSelectedColor;
             btnStatu.IsBold = true;
-            this.AddChidren(btnStatu, ChidrenBindMode.BindEventOnly);
+            this.AddChidren(btnStatu, ChidrenBindMode.BindEvent);
 
             //寮�鍏虫帶浠�(涓嶅姞鍏ョ埗鎺т欢涓�)
             this.btnSwitch = new PicViewControl(109, 104);
@@ -222,35 +222,14 @@
         {
             //璁惧鐘舵�佸繀椤诲埛鏂�
             this.btnStatu.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(this.device);
-
-            if (this.btnBackGroud.IsSelected == isOpen)
-            {
-                //鐘舵�佷竴鏍�,鍒欎笉闇�瑕佸鐞�
-                return;
-            }
-            //鑳屾櫙鍥剧墖
-            this.btnBackGroud.IsSelected = isOpen;
-            //璁惧鍚嶇О鎺т欢
-            this.btnDeviceName.IsSelected = isOpen;
-            this.btnDeviceName.IsBold = isOpen;
-            //璁惧鐨勮儗鏅渾鍦堝浘
-            if (isOpen == true)
-            {
-                fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionBackgroundColor;
-            }
-            else
-            {
-                fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
-            }
-            //璁惧鍥炬爣鎺т欢
-            this.btnDeviceIcon.IsSelected = isOpen;
-            //鐘舵�佹枃鏈帶浠�
-            this.btnStatu.IsSelected = isOpen;
             //寮�鍏虫帶浠�
-            if (btnSwitch != null)
+            if (btnSwitch != null && this.btnSwitch.IsSelected != isOpen)
             {
                 this.btnSwitch.IsSelected = isOpen;
             }
+
+            //鍒囨崲鍗$墖鐘舵�佺壒鏁�
+            this.SwitchCardStatuAppeal(isOpen);
         }
 
         /// <summary>
@@ -428,6 +407,84 @@
 
         #endregion
 
+        #region 鈻� 鍗$墖闂儊鐗规晥_______________________
+
+        /// <summary>
+        /// 鏄惁澶勪簬鐗规晥涓�
+        /// </summary>
+        private bool isAppeal = false;
+        /// <summary>
+        /// 寮�鍚崱鐗囬棯鐑佺壒鏁�
+        /// </summary>
+        public void StartCardLightAppeal()
+        {
+            //璁惧鐘舵�佸繀椤诲埛鏂�
+            this.btnStatu.Text = HdlDeviceOtherLogic.Current.GetDeviceStatu(this.device);
+
+            if (this.isAppeal == true) { return; }
+            this.isAppeal = true;
+
+            HdlThreadLogic.Current.RunThread(() =>
+            {
+                //闂儊5绉�,闂撮殧400姣
+                int count = 5000 / 400;
+                bool isOpen = false;
+                while (this.Parent != null && count >= 0)
+                {
+                    //闂儊鐗规晥
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        isOpen = !isOpen;
+                        this.SwitchCardStatuAppeal(isOpen);
+                    });
+                    System.Threading.Thread.Sleep(400);
+                    count--;
+                }
+                if (this.Parent != null && isOpen == false)
+                {
+                    HdlThreadLogic.Current.RunMain(() =>
+                    {
+                        //缁撴潫鏃�,榛樿涓烘墦寮�鐗规晥
+                        this.SwitchCardStatuAppeal(true);
+                    }, ShowErrorMode.NO);
+                }
+                this.isAppeal = false;
+
+            }, ShowErrorMode.NO);
+        }
+
+        /// <summary>
+        /// 鍒囨崲鍗$墖鐘舵�佺壒鏁�
+        /// </summary>
+        private void SwitchCardStatuAppeal(bool isOpen)
+        {
+            if (this.btnBackGroud.IsSelected == isOpen)
+            {
+                //鐘舵�佷竴鏍�,鍒欎笉闇�瑕佸鐞�
+                return;
+            }
+            //鑳屾櫙鍥剧墖
+            this.btnBackGroud.IsSelected = isOpen;
+            //璁惧鍚嶇О鎺т欢
+            this.btnDeviceName.IsSelected = isOpen;
+            this.btnDeviceName.IsBold = isOpen;
+            //璁惧鐨勮儗鏅渾鍦堝浘
+            if (isOpen == true)
+            {
+                fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionBackgroundColor;
+            }
+            else
+            {
+                fraDeviceRound.BackgroundColor = Common.ZigbeeColor.Current.GXCForFunctionUnSelectedBackgroundColor;
+            }
+            //璁惧鍥炬爣鎺т欢
+            this.btnDeviceIcon.IsSelected = isOpen;
+            //鐘舵�佹枃鏈帶浠�
+            this.btnStatu.IsSelected = isOpen;
+        }
+
+        #endregion
+
         #region 鈻� 鎺т欢鎽ф瘉___________________________
 
         /// <summary>

--
Gitblit v1.8.0