From 2029e64ec0491f7e511dc15bffaf821bfbabe2de Mon Sep 17 00:00:00 2001
From: 黄学彪 <hxb@hdlchina.com.cn>
Date: 星期一, 20 七月 2020 14:10:22 +0800
Subject: [PATCH] 上传一个很特别的新版本

---
 ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs |  139 +++++++---------------------------------------
 1 files changed, 21 insertions(+), 118 deletions(-)

diff --git a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs
index 79a91eb..f4e0c58 100755
--- a/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs
+++ b/ZigbeeApp/Shared/Phone/UserCenter/CommonBase/Controls/CompoundControls/RoomDeviceGroupMenuControl.cs
@@ -21,7 +21,7 @@
         /// </summary>
         public Action<List<CommonDevice>> SelectDeviceEvent = null;
         /// <summary>
-        /// 褰撳墠閫夋嫨鐨勪富閿�(鎴块棿绫诲瀷鏃讹細鎴块棿ID    璁惧绫诲瀷鏃讹細R鏂囦欢閲岄潰鐨処D)
+        /// 褰撳墠閫夋嫨鐨勪富閿�(鎴块棿绫诲瀷鏃讹細鎴块棿ID   璁惧绫诲瀷鏃讹細鏂囨湰淇℃伅)
         /// </summary>
         public string nowSelectKeys
         {
@@ -36,6 +36,7 @@
                         {
                             return rId.ToString();
                         }
+                        index++;
                     }
                     return string.Empty;
                 }
@@ -54,7 +55,7 @@
         /// <summary>
         /// 璁惧瀵硅薄
         /// </summary>
-        private Dictionary<int, List<CommonDevice>> dicDevice = null;
+        private Dictionary<string, List<CommonDevice>> dicDevice = null;
         /// <summary>
         /// 鍓嶅洖閫夋嫨鐨勬帶浠�
         /// </summary>
@@ -81,8 +82,8 @@
         /// <summary>
         /// 璁惧缁勫悎鐨勮彍鍗曟帶浠�
         /// </summary>
-        /// <param name="i_dicDevice">璁惧鍒楄〃,keys:R鏂囦欢閲岄潰鐨勬暟瀛楃紪鍙�</param>
-        public RoomDeviceGroupMenuControl(Dictionary<int, List<CommonDevice>> i_dicDevice)
+        /// <param name="i_dicDevice">璁惧鍒楄〃,keys:鏂囨湰</param>
+        public RoomDeviceGroupMenuControl(Dictionary<string, List<CommonDevice>> i_dicDevice)
         {
             this.dicDevice = i_dicDevice;
             this.Height = Application.GetRealHeight(204);
@@ -119,14 +120,14 @@
 
                     //璁$畻瀛楃鐨勭湡瀹炲搴�
                     btnTempWidth.Text = listRoom[i].Name;
-                    this.DoInitControl(scrolContr, i, i, listRoom[i].Name, btnTempWidth.GetRealWidthByText());
+                    this.DoInitControl(scrolContr, i.ToString(), i, listRoom[i].Name, btnTempWidth.GetRealWidthByText());
                 }
             }
             else
             {
                 //鍒濆鍖栬澶囨ā寮忕殑鎺т欢
                 int index = 0;
-                foreach (int keys in dicDevice.Keys)
+                foreach (string strKeys in dicDevice.Keys)
                 {
                     if (oldSelectIndex == -1)
                     {
@@ -134,8 +135,8 @@
                         oldSelectIndex = index;
                     }
                     //璁$畻瀛楃鐨勭湡瀹炲搴�
-                    btnTempWidth.Text = Language.StringByID(keys);
-                    this.DoInitControl(scrolContr, keys, index, btnTempWidth.Text, btnTempWidth.GetRealWidthByText());
+                    btnTempWidth.Text = strKeys;
+                    this.DoInitControl(scrolContr, strKeys, index, btnTempWidth.Text, btnTempWidth.GetRealWidthByText());
                     index++;
                 }
             }
@@ -147,11 +148,11 @@
         /// 鍒濆鍖栨帶浠�
         /// </summary>
         /// <param name="scrolContr">鍒楄〃鎺т欢</param>
-        /// <param name="keys">瀛楀吀鐨勪富閿�</param>
+        /// <param name="strKey">瀛楀吀鐨勪富閿�</param>
         /// <param name="index">绱㈠紩</param>
         /// <param name="text">鏄剧ず鏂囨湰</param>
         /// <param name="textWidth">鏂囨湰鐪熷疄瀹藉害</param>
-        private void DoInitControl(HorizontalScrolViewLayout scrolContr, int keys, int index, string text, int textWidth)
+        private void DoInitControl(HorizontalScrolViewLayout scrolContr, string strKey, int index, string text, int textWidth)
         {
             //甯﹀簳鍥炬帶浠剁殑鏈�灏忓搴�
             int minWidth = Application.GetRealWidth(255);
@@ -215,11 +216,11 @@
                 //璋冪敤鍥炶皟鍑芥暟
                 if (this.dicDevice != null)
                 {
-                    this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]);
+                    this.SelectDeviceEvent?.Invoke(this.dicDevice[strKey]);
                 }
                 else if (this.listRoom != null)
                 {
-                    this.SelectRoomEvent?.Invoke(this.listRoom[keys]);
+                    this.SelectRoomEvent?.Invoke(this.listRoom[Convert.ToInt32(strKey)]);
                 }
             };
 
@@ -228,111 +229,14 @@
             {
                 if (this.dicDevice != null)
                 {
-                    this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]);
+                    this.SelectDeviceEvent?.Invoke(this.dicDevice[strKey]);
                 }
                 else if (this.listRoom != null)
                 {
-                    this.SelectRoomEvent?.Invoke(this.listRoom[keys]);
+                    this.SelectRoomEvent?.Invoke(this.listRoom[Convert.ToInt32(strKey)]);
                 }
             }
         }
-
-        /// <summary>
-        /// 鍒濆鍖栨帶浠�
-        /// </summary>
-        /// <param name="scrolContr">鍒楄〃鎺т欢</param>
-        /// <param name="keys">瀛楀吀鐨勪富閿�</param>
-        /// <param name="index">绱㈠紩</param>
-        /// <param name="text">鏄剧ず鏂囨湰</param>
-        /// <param name="textWidth">鏂囨湰鐪熷疄瀹藉害</param>
-        private void DoInitControl2(HorizontalScrolViewLayout scrolContr, int keys, int index, string text, int textWidth)
-        {
-            //甯﹀簳鍥炬帶浠剁殑鏈�灏忓搴�
-            int minWidth = Application.GetRealWidth(255);
-            //甯﹀簳鍥炬帶浠剁殑鐪熷疄瀹藉害   <鏂囧瓧鐨勫搴︾殑璁$畻 frameBack.Width - (int)(frameBack.Height * 0.47)>
-            int realWidth = textWidth + (int)(Application.GetRealHeight(159) * 0.47);
-            if (realWidth < minWidth)
-            {
-                realWidth = minWidth;
-            }
-
-            //甯﹀浘鐗囩殑
-            var frameBack = new FrameLayoutStatuControl();
-            frameBack.UseClickStatu = false;
-            frameBack.Gravity = Gravity.Center;
-            frameBack.Height = Application.GetRealHeight(159);
-            frameBack.Width = realWidth;
-            frameBack.BorderWidth = 1;
-            frameBack.BorderColor = UserCenterColor.Current.TextColor1;
-            scrolContr.AddChidren(frameBack);
-            if (oldSelectIndex == index)
-            {
-                frameBack.SetViewShadow(true);
-                frameBack.BackgroundColor = UserCenterColor.Current.TextColor1;
-                oldFrameBack = frameBack;
-            }
-
-            //鏂囧瓧
-            var btnText = new NormalViewControl(textWidth, frameBack.Height, false);
-            btnText.Gravity = Gravity.CenterHorizontal;
-            btnText.Text = text;
-            btnText.TextSize = 12;
-            btnText.TextAlignment = TextAlignment.Center;
-            if (oldSelectIndex == index)
-            {
-                btnText.TextColor = UserCenterColor.Current.White;
-                oldBtnText = btnText;
-            }
-            else
-            {
-                btnText.TextColor = UserCenterColor.Current.TextGrayColor1;
-            }
-            frameBack.AddChidren(btnText, ChidrenBindMode.BindEvent);
-
-            frameBack.ButtonClickEvent += (sender, e) =>
-            {
-                if (oldSelectIndex == index)
-                {
-                    //鍚屼竴涓笢瑗�
-                    return;
-                }
-                oldSelectIndex = index;
-
-                //鐘舵�佸彉鏇�
-                frameBack.SetViewShadow(true);
-                frameBack.BackgroundColor = UserCenterColor.Current.TextColor1;
-                btnText.TextColor = UserCenterColor.Current.White;
-
-                oldFrameBack.SetViewShadow(false);
-                oldFrameBack.BackgroundColor = UserCenterColor.Current.Transparent;
-                oldBtnText.TextColor = UserCenterColor.Current.TextGrayColor1;
-                oldFrameBack = frameBack;
-                oldBtnText = btnText;
-                //璋冪敤鍥炶皟鍑芥暟
-                if (this.dicDevice != null)
-                {
-                    this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]);
-                }
-                else if (this.listRoom != null)
-                {
-                    this.SelectRoomEvent?.Invoke(this.listRoom[keys]);
-                }
-            };
-
-            //璋冪敤鍥炶皟鍑芥暟
-            if (oldSelectIndex == index)
-            {
-                if (this.dicDevice != null)
-                {
-                    this.SelectDeviceEvent?.Invoke(this.dicDevice[keys]);
-                }
-                else if (this.listRoom != null)
-                {
-                    this.SelectRoomEvent?.Invoke(this.listRoom[keys]);
-                }
-            }
-        }
-
 
         #endregion
 
@@ -356,27 +260,26 @@
         /// <summary>
         /// 璁剧疆鍒濆閫夋嫨(璇峰湪鍒濆鍖栧畬鎴愪箣鍓嶈皟鐢�)
         /// </summary>
-        /// <param name="keys">鎴块棿ID 鎴栬�� R鏂囦欢閲岄潰鐨勬暟鍊肩紪鍙�(杞负瀛楃涓茬被鍨�)</param>
-        public void SetDefultIndex(string keys)
+        /// <param name="strKey">鎴块棿ID 鎴栬�� 鏂囨湰淇℃伅</param>
+        public void SetDefultIndex(string strKey)
         {
             if (listRoom != null)
             {
                 for (int index = 0; index < listRoom.Count; index++)
                 {
-                    if (listRoom[index].Id == keys)
+                    if (listRoom[index].Id == strKey)
                     {
                         oldSelectIndex = index;
                         break;
                     }
                 }
             }
-            else if (keys != string.Empty)
+            else if (strKey != string.Empty)
             {
                 int i = 0;
-                int textId = Convert.ToInt32(keys);
-                foreach (int rId in dicDevice.Keys)
+                foreach (string rId in dicDevice.Keys)
                 {
-                    if (rId == textId)
+                    if (rId == strKey)
                     {
                         oldSelectIndex = i;
                         break;

--
Gitblit v1.8.0