From 002a3f2e9d2f9579c01f88af12bd8a320003569f Mon Sep 17 00:00:00 2001
From: wxr <464027401@qq.com>
Date: 星期二, 31 三月 2020 08:57:19 +0800
Subject: [PATCH] 20200331

---
 HDL_ON/UI/UI2/1-HomePage/HomePage.cs |  674 ++++++++++++++++++++++++++-----------------------------
 1 files changed, 320 insertions(+), 354 deletions(-)

diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
index 7c163e1..ef62f22 100644
--- a/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
+++ b/HDL_ON/UI/UI2/1-HomePage/HomePage.cs
@@ -10,7 +10,7 @@
     {
 
         #region 鎺т欢鍒楄〃
-        static FrameLayout bodyView;
+        static HomePage bodyView;
         /// <summary>
         /// 椤堕儴淇℃伅鍖哄煙
         /// </summary>
@@ -60,17 +60,9 @@
         /// </summary>
         VerticalScrolViewLayout sceneFunctionView;
         /// <summary>
-        /// 鐏厜鍖哄煙闆嗗悎
+        /// 鍔熻兘鍖哄煙闆嗗悎
         /// </summary>
-        static Dictionary<string, FrameLayout> LightViews;
-        /// <summary>
-        /// 绌鸿皟鍖哄煙闆嗗悎
-        /// </summary>
-        static Dictionary<string, FrameLayout> AcViews;
-        /// <summary>
-        /// 绐楀笜鍖哄煙闆嗗悎
-        /// </summary>
-        static Dictionary<string, FrameLayout> CurtainViews;
+        List<FrameLayout> functionViews;
         #endregion
 
         #region 鍖哄煙鍙橀噺
@@ -88,241 +80,240 @@
 
         public void LoadPage()
         {
-            #region topView
-            topView = new FrameLayout()
+            try
             {
-                Height = Application.GetRealHeight(216),
-                BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
-            };
-            bodyView.AddChidren(topView);
-            
-            Button btnTop;
-            btnTop = new Button()
+                #region topView
+                topView = new FrameLayout()
+                {
+                    Height = Application.GetRealHeight(216),
+                    BackgroundImagePath = DB_ResidenceData.residenceData.residenceImage,
+                };
+                bodyView.AddChidren(topView);
+
+                Button btnTop;
+                btnTop = new Button()
+                {
+                    BackgroundColor = CSS_Color.DialogTransparentColor2,
+                };
+                topView.AddChidren(btnTop);
+
+                btnResidenceName = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Y = Application.GetRealHeight(32),
+                    Width = Application.GetRealWidth(200),
+                    Height = Application.GetRealHeight(33),
+                    TextColor = CSS.CSS_Color.MainBackgroundColor,
+                    TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    Text = DB_ResidenceData.residenceData.residenceName,
+                    IsBold = true
+                };
+                topView.AddChidren(btnResidenceName);
+
+                environmentalView = new FrameLayout()
+                {
+                    Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
+                    Height = Application.GetRealHeight(32),
+                };
+                topView.AddChidren(environmentalView);
+                #region 鐜鏁版嵁
+                Button btnTempIcon = new Button()
+                {
+                    X = Application.GetRealWidth(12),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
+                };
+                environmentalView.AddChidren(btnTempIcon);
+
+                btnTempValues = new Button()
+                {
+                    X = btnTempIcon.Right + Application.GetRealWidth(4),
+                    Width = Application.GetRealWidth(30),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS.CSS_Color.MainBackgroundColor,
+                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
+                    Text = "--掳",
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                environmentalView.AddChidren(btnTempValues);
+
+                Button btnHumidityIcon = new Button()
+                {
+                    X = btnTempValues.Right + Application.GetRealWidth(2),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
+                };
+                environmentalView.AddChidren(btnHumidityIcon);
+
+                btnHumidityValues = new Button()
+                {
+                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
+                    Width = Application.GetRealWidth(30),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS.CSS_Color.MainBackgroundColor,
+                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
+                    Text = "--%",
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                environmentalView.AddChidren(btnHumidityValues);
+
+                Button btnPm25Icon = new Button()
+                {
+                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(16),
+                    Height = Application.GetMinRealAverage(16),
+                    UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
+                };
+                environmentalView.AddChidren(btnPm25Icon);
+
+                btnPm25Values = new Button()
+                {
+                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
+                    Width = Application.GetRealWidth(30),
+                    Gravity = Gravity.CenterVertical,
+                    TextColor = CSS.CSS_Color.MainBackgroundColor,
+                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
+                    Text = "--",
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                environmentalView.AddChidren(btnPm25Values);
+                #endregion
+
+                #region msg
+                FrameLayout msgView;
+                msgView = new FrameLayout()
+                {
+                    Y = Application.GetRealHeight(164),
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(343),
+                    Height = Application.GetRealHeight(28),
+                };
+                topView.AddChidren(msgView);
+
+                var btngb = new Button()
+                {
+                    BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
+                    Alpha = 0.4f,
+                };
+                msgView.AddChidren(btngb);
+
+                Button btnMsgIcon;
+                btnMsgIcon = new Button()
+                {
+                    X = Application.GetRealWidth(12),
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetMinRealAverage(24),
+                    Height = Application.GetMinRealAverage(24),
+                    UnSelectedImagePath = "Collection/MsgIcon.png",
+                    SelectedImagePath = "Collection/MsgIconTip.png",
+                };
+                msgView.AddChidren(btnMsgIcon);
+
+                Button btnMsg;
+                btnMsg = new Button()
+                {
+                    X = Application.GetRealWidth(10) + btnMsgIcon.Right,
+                    Width = Application.GetRealWidth(240),
+                    Text = "鏃�",
+                    TextColor = CSS.CSS_Color.MainBackgroundColor,
+                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                msgView.AddChidren(btnMsg);
+
+                Button btnMsgTime;
+                btnMsgTime = new Button()
+                {
+                    X = Application.GetRealWidth(299),
+                    Width = Application.GetRealWidth(44),
+                    Text = "00:00",
+                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
+                    TextAlignment = TextAlignment.CenterLeft,
+                };
+                msgView.AddChidren(btnMsgTime);
+                #endregion
+
+                #endregion
+
+                #region 鍔熻兘鍦烘櫙鍒囨崲
+                changeView = new FrameLayout()
+                {
+                    Y = Application.GetRealHeight(20) + topView.Bottom,
+                    Gravity = Gravity.CenterHorizontal,
+                    Width = Application.GetRealWidth(230),
+                    Height = Application.GetRealHeight(62),
+                    BackgroundImagePath = "Collection/ChangeViewbg.png",
+                };
+                bodyView.AddChidren(changeView);
+
+                btnChangeFunction = new Button()
+                {
+                    Width = Application.GetRealWidth(114),
+                    TextID = StringId.Functions,
+                    SelectedTextColor = CSS.CSS_Color.MainColor,
+                    TextColor = CSS.CSS_Color.PromptingColor1,
+                    TextSize = CSS.CSS_FontSize.HeadlineFontSize,
+                    TextAlignment = TextAlignment.Center,
+                    IsSelected = true,
+                    IsBold = true
+                };
+                changeView.AddChidren(btnChangeFunction);
+
+                Button btnLine = new Button()
+                {
+                    X = btnChangeFunction.Right,
+                    Gravity = Gravity.CenterVertical,
+                    Width = Application.GetRealWidth(1),
+                    Height = Application.GetRealHeight(14),
+                    BackgroundColor = CSS.CSS_Color.PromptingColor1,
+                };
+                changeView.AddChidren(btnLine);
+
+                btnChangeScene = new Button()
+                {
+                    X = btnLine.Right,
+                    Width = Application.GetRealWidth(114),
+                    TextID = StringId.Scenes,
+                    SelectedTextColor = CSS.CSS_Color.MainColor,
+                    TextColor = CSS.CSS_Color.PromptingColor1,
+                    TextSize = CSS.CSS_FontSize.TextFontSize,
+                    TextAlignment = TextAlignment.Center,
+                };
+                changeView.AddChidren(btnChangeScene);
+                #endregion
+
+                #region ContextView
+                contentView = new PageLayout()
+                {
+                    Y = changeView.Bottom + Application.GetRealHeight(10),
+                    Height = Application.GetRealHeight(310 + 30), //20涓鸿秴鍑洪儴鍒�
+                };
+                bodyView.AddChidren(contentView);
+
+                functionViews = new List<FrameLayout>();
+
+                deviceFunctionView = new VerticalScrolViewLayout();
+                contentView.AddChidren(deviceFunctionView);
+                LoadDeviceFunctionControlZone();
+                sceneFunctionView = new VerticalScrolViewLayout();
+                contentView.AddChidren(sceneFunctionView);
+                LoadSceneFunctionControlZone();
+                contentView.PageIndex = 0;
+
+                #endregion
+
+                LoadEvent_ChangeShowedFunctionType();
+            }
+            catch (Exception ex)
             {
-                BackgroundColor = CSS_Color.DialogTransparentColor2,
-            };
-            topView.AddChidren(btnTop);
-
-            btnResidenceName = new Button()
-            {
-                X = Application.GetRealWidth(16),
-                Y = Application.GetRealHeight(32),
-                Width = Application.GetRealWidth(200),
-                Height = Application.GetRealHeight(33),
-                TextColor = CSS.CSS_Color.MainBackgroundColor,
-                TextSize = CSS.CSS_FontSize.EmphasisFontSize_FirstLevel,
-                TextAlignment = TextAlignment.CenterLeft,
-                Text = DB_ResidenceData.residenceData.residenceName,
-                IsBold = true
-            };
-            topView.AddChidren(btnResidenceName);
-
-            environmentalView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(1) + btnResidenceName.Bottom,
-                Height = Application.GetRealHeight(32),
-            };
-            topView.AddChidren(environmentalView);
-            #region 鐜鏁版嵁
-            Button btnTempIcon = new Button()
-            {
-                X = Application.GetRealWidth(12),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/InfoIcon/TempIcon.png",
-            };
-            environmentalView.AddChidren(btnTempIcon);
-
-            btnTempValues = new Button()
-            {
-                X = btnTempIcon.Right + Application.GetRealWidth(4),
-                Width = Application.GetRealWidth(30),
-                Gravity = Gravity.CenterVertical,
-                TextColor = CSS.CSS_Color.MainBackgroundColor,
-                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = "--掳",
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            environmentalView.AddChidren(btnTempValues);
-
-            Button btnHumidityIcon = new Button()
-            {
-                X = btnTempValues.Right + Application.GetRealWidth(2),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/InfoIcon/HumidityIcon.png",
-            };
-            environmentalView.AddChidren(btnHumidityIcon);
-
-            btnHumidityValues = new Button()
-            {
-                X = btnHumidityIcon.Right + Application.GetRealWidth(4),
-                Width = Application.GetRealWidth(30),
-                Gravity = Gravity.CenterVertical,
-                TextColor = CSS.CSS_Color.MainBackgroundColor,
-                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = "--%",
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            environmentalView.AddChidren(btnHumidityValues);
-
-            Button btnPm25Icon = new Button()
-            {
-                X = btnHumidityValues.Right + Application.GetRealWidth(2),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(16),
-                Height = Application.GetMinRealAverage(16),
-                UnSelectedImagePath = "Public/InfoIcon/Pm25Icon.png",
-            };
-            environmentalView.AddChidren(btnPm25Icon);
-
-            btnPm25Values = new Button()
-            {
-                X = btnPm25Icon.Right + Application.GetRealWidth(4),
-                Width = Application.GetRealWidth(30),
-                Gravity = Gravity.CenterVertical,
-                TextColor = CSS.CSS_Color.MainBackgroundColor,
-                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                Text = "--",
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            environmentalView.AddChidren(btnPm25Values);
-            #endregion
-
-
-            #region msg
-            FrameLayout msgView;
-            msgView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(164),
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(343),
-                Height = Application.GetRealHeight(28),
-            };
-            topView.AddChidren(msgView);
-
-            var btngb = new Button()
-            {
-                BackgroundColor = CSS.CSS_Color.MainColor,//0x3F4484F4,//
-                Alpha = 0.4f,
-            };
-            msgView.AddChidren(btngb);
-
-            Button btnMsgIcon;
-            btnMsgIcon = new Button()
-            {
-                X = Application.GetRealWidth(12),
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetMinRealAverage(24),
-                Height = Application.GetMinRealAverage(24),
-                UnSelectedImagePath = "Collection/MsgIcon.png",
-                SelectedImagePath = "Collection/MsgIconTip.png",
-            };
-            msgView.AddChidren(btnMsgIcon);
-
-            Button btnMsg;
-            btnMsg = new Button()
-            {
-                X = Application.GetRealWidth(10) + btnMsgIcon.Right,
-                Width = Application.GetRealWidth(240),
-                Text = "鏃�",
-                TextColor = CSS.CSS_Color.MainBackgroundColor,
-                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            msgView.AddChidren(btnMsg);
-
-            Button btnMsgTime;
-            btnMsgTime = new Button()
-            {
-                X = Application.GetRealWidth(299),
-                Width = Application.GetRealWidth(44),
-                Text = "00:00",
-                TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                TextAlignment = TextAlignment.CenterLeft,
-            };
-            msgView.AddChidren(btnMsgTime);
-
-            #endregion
-
-            #endregion
-
-
-            #region 鍔熻兘鍦烘櫙鍒囨崲
-            changeView = new FrameLayout()
-            {
-                Y = Application.GetRealHeight(20) + topView.Bottom,
-                Gravity = Gravity.CenterHorizontal,
-                Width = Application.GetRealWidth(230),
-                Height = Application.GetRealHeight(62),
-                BackgroundImagePath = "Collection/ChangeViewbg.png",
-            };
-            bodyView.AddChidren(changeView);
-
-            btnChangeFunction = new Button()
-            {
-                Width = Application.GetRealWidth(114),
-                TextID = StringId.Functions,
-                SelectedTextColor = CSS.CSS_Color.MainColor,
-                TextColor = CSS.CSS_Color.PromptingColor1,
-                TextSize = CSS.CSS_FontSize.HeadlineFontSize,
-                TextAlignment = TextAlignment.Center,
-                IsSelected = true,
-                IsBold = true
-            };
-            changeView.AddChidren(btnChangeFunction);
-
-            Button btnLine = new Button()
-            {
-                X = btnChangeFunction.Right,
-                Gravity = Gravity.CenterVertical,
-                Width = Application.GetRealWidth(1),
-                Height = Application.GetRealHeight(14),
-                BackgroundColor = CSS.CSS_Color.PromptingColor1,
-            };
-            changeView.AddChidren(btnLine);
-
-            btnChangeScene = new Button()
-            {
-                X = btnLine.Right,
-                Width = Application.GetRealWidth(114),
-                TextID = StringId.Scenes,
-                SelectedTextColor = CSS.CSS_Color.MainColor,
-                TextColor = CSS.CSS_Color.PromptingColor1,
-                TextSize = CSS.CSS_FontSize.TextFontSize,
-                TextAlignment = TextAlignment.Center,
-            };
-            changeView.AddChidren(btnChangeScene);
-
-            #endregion
-
-            #region ContextView
-            contentView = new PageLayout()
-            {
-                Y = changeView.Bottom + Application.GetRealHeight(10),
-                Height = Application.GetRealHeight(310 + 30), //20涓鸿秴鍑洪儴鍒�
-            };
-            bodyView.AddChidren(contentView);
-
-            LightViews = new Dictionary<string, FrameLayout>();
-            AcViews = new Dictionary<string, FrameLayout>();
-            CurtainViews = new Dictionary<string, FrameLayout>();
-
-            deviceFunctionView = new VerticalScrolViewLayout();
-            contentView.AddChidren(deviceFunctionView);
-            LoadDeviceFunctionControlZone();
-            sceneFunctionView = new VerticalScrolViewLayout();
-            contentView.AddChidren(sceneFunctionView);
-            LoadSceneFunctionControlZone();
-            contentView.PageIndex = 0;
-
-            #endregion
-
-            LoadEvent_ChangeShowedFunctionType();
-            //鍒锋柊鍔熻兘鐘舵��
-            DB_ResidenceData.residenceData.RefreshResidenceFunctionStatus();
+                MainPage.Log($"HomePage LoadPage Error : {ex.Message}");
+            }
         }
 
         /// <summary>
@@ -332,9 +323,7 @@
         {
             #region ContextView
             deviceFunctionView.RemoveAll();
-            LightViews.Clear();
-            AcViews.Clear();
-            CurtainViews.Clear();
+            functionViews.Clear();
             var rowView = new FrameLayout();
             try
             {
@@ -374,33 +363,17 @@
                     {
                         UnSelectedImagePath = "Collection/Functionbg.png",
                         SelectedImagePath = "Collection/FunctionOnbg.png",
+                        Tag = function.sid
                     };
                     functionView.AddChidren(btnbg);
-                    switch (function.functionCategory)
-                    {
-                        case FunctionType.Light:
-                            #region 鐏厜 Light
-                            LightViews.Add(function.sid, functionView);
-                            #endregion
-                            break;
-                        case FunctionType.Curtain:
-                            #region 绐楀笜
-                            CurtainViews.Add(function.sid, functionView);
-                            #endregion
-                            break;
-                        case FunctionType.AC:
-                            #region 绌鸿皟 AC
-                            AcViews.Add(function.sid, functionView);
-                            #endregion
-                            break;
-                    }
+                    functionViews.Add(functionView);
                     LoadDeviceFunctionDiv(functionView, function);
                     index++;
                 }
             }
             catch (Exception ex)
             {
-                MainPage.Log("homepage erorr : " + ex.Message);
+                MainPage.Log("homepage error : " + ex.Message);
             }
             deviceFunctionView.AddChidren(new Button { Height = Application.GetRealHeight(30) });
             #endregion
@@ -435,7 +408,7 @@
                         sceneFunctionView.AddChidren(rowView);
                         sceneFunctionView.AddChidren(new Button() { Height = Application.GetRealHeight(7) });
                     }
-                    var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) +16);
+                    var functionView_X = Application.GetRealWidth((16 + 164) * (index % 2) + 16);
 
                     var functionView = new FrameLayout()
                     {
@@ -446,15 +419,11 @@
                         BackgroundImagePath = (function as Scene).ImagePath,
                     };
                     rowView.AddChidren(functionView);
-                    //functionView.Radius = (uint)Application.GetRealWidth(12);
-                    //functionView.BorderColor = CSS_Color.BackgroundColor;
-                    //functionView.BorderWidth = 1;
-
 
                     LoadSceneFunctionDiv(functionView, function);
                     index++;
                 }
-            } 
+            }
             catch (Exception ex)
             {
                 MainPage.Log("homepage erorr : " + ex.Message);
@@ -538,67 +507,75 @@
                 };
                 view.AddChidren(btnCollection);
 
-                Button btnSwitch;
-                btnSwitch = new Button()
+                if (function.functionCategory == FunctionCategory.Curtain)
                 {
-                    X = Application.GetRealWidth(122),
-                    Y = Application.GetRealWidth(92),
-                    Width = Application.GetMinRealAverage(48),
-                    Height = Application.GetMinRealAverage(36),
-                    UnSelectedImagePath = "Public/Switch.png",
-                    SelectedImagePath = "Public/SwitchOn.png",
-                };
-                view.AddChidren(btnSwitch);
+                    btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
+                    btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
+                    Button btnCurtainClose;
+                    btnCurtainClose = new Button()
+                    {
+                        X = Application.GetRealWidth(84),
+                        Y = Application.GetRealWidth(89),
+                        Width = Application.GetRealWidth(44),
+                        Height = Application.GetRealWidth(44),
+                        UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseBlueIcon_Shadow.png",
+                        SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseWhiteIcon_Shadow.png",
+                    };
+                    view.AddChidren(btnCurtainClose);
 
-                switch (function.functionCategory)
-                {
-                    case FunctionType.Light:
-                        #region 鐏厜 Light
-                        btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
-                        btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
-                        LoadRelaySwitchEvent(function, btnSwitch, view);
-                        //btnCollection.IsSelected = btnIcon.IsSelected = btnName.IsSelected = btnZone.IsSelected = btnSwitch.IsSelected = (function as Light).state == 1;
-                        UpdataLightView(function as Light);
-                        //btnSwitch.MouseUpEventHandler += (sender, e) =>
-                        //{
-                        //    var curState = !btnSwitch.IsSelected;
-                        //    for (int i = 0; i < view.ChildrenCount; i++)
-                        //    {
-                        //        if (view.GetChildren(i).GetType() == typeof(Button))
-                        //        {
-                        //            var btn = view.GetChildren(i) as Button;
-                        //            btn.IsSelected = curState;
-                        //        }
-                        //    }
-                        //    new System.Threading.Thread(() =>
-                        //    {
-                        //        var light = function as Light;
-                        //        light.state = btnSwitch.IsSelected ? 1 : 0;
-                        //        Control.Send("write", function, 3);
-                        //    })
-                        //    { IsBackground = true }.Start();
-                        //};
-                        #endregion
-                        break;
-                    case FunctionType.Curtain:
-                        #region 绐楀笜
-                        btnIcon.UnSelectedImagePath = "FunctionIcon/Curtain/CurtainIcon.png";
-                        btnIcon.SelectedImagePath = "FunctionIcon/Curtain/CurtainOnIcon.png";
-                        #endregion
-                        break;
-                    case FunctionType.AC:
-                        #region 绌鸿皟 AC
-                        btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
-                        btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
-                        #endregion
-                        break;
-                    case FunctionType.FloorHeating:
-                        #region 鍦扮儹
-                        btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
-                        btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
-                        #endregion
-                        break;
+                    Button btnCurtainOpen;
+                    btnCurtainOpen = new Button()
+                    {
+                        X = btnCurtainClose.Right,
+                        Y = Application.GetRealWidth(89),
+                        Width = Application.GetRealWidth(44),
+                        Height = Application.GetRealWidth(44),
+                        UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenBlueIcon_Shadow.png",
+                        SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenWhiteIcon_Shadow.png",
+                    };
+                    view.AddChidren(btnCurtainOpen);
+
+                    LoadEvent_ControlCurtain(function as Curtain, btnCurtainClose, btnCurtainOpen);
                 }
+                else
+                {
+                    Button btnSwitch;
+                    btnSwitch = new Button()
+                    {
+                        X = Application.GetRealWidth(122),
+                        Y = Application.GetRealWidth(92),
+                        Width = Application.GetMinRealAverage(48),
+                        Height = Application.GetMinRealAverage(36),
+                        UnSelectedImagePath = "Public/Switch.png",
+                        SelectedImagePath = "Public/SwitchOn.png",
+                    };
+                    view.AddChidren(btnSwitch);
+
+                    switch (function.functionCategory)
+                    {
+                        case FunctionCategory.Light:
+                            #region 鐏厜 Light
+                            btnIcon.UnSelectedImagePath = "FunctionIcon/Light/LightIcon.png";
+                            btnIcon.SelectedImagePath = "FunctionIcon/Light/LightOnIcon.png";
+                            UpdataFunctionStates(function as Light);
+                            #endregion
+                            break;
+                        case FunctionCategory.AC:
+                            #region 绌鸿皟 AC
+                            btnIcon.UnSelectedImagePath = "FunctionIcon/AC/AcIcon.png";
+                            btnIcon.SelectedImagePath = "FunctionIcon/AC/AcOnIcon.png";
+                            #endregion
+                            break;
+                        case FunctionCategory.FloorHeating:
+                            #region 鍦扮儹
+                            btnIcon.UnSelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingIcon.png";
+                            btnIcon.SelectedImagePath = "FunctionIcon/FloorHeating/FloorHeatingOnIcon.png";
+                            #endregion
+                            break;
+                    }
+                    LoadEvent_SwitchFunction(function, btnSwitch);
+                }
+                UpdataFunctionStates(function);
             }
             catch (Exception ex)
             {
@@ -618,20 +595,9 @@
                 {
                     UnSelectedImagePath = "Collection/SceneCovered.png",
                     SelectedImagePath = "Collection/SceneCoveredOn.png",
-                    //Width = Application.GetRealWidth(165),
                 };
                 view.AddChidren(btnCoverd);
-                btnCoverd.MouseDownEventHandler = (sender, e) => {
-                    btnCoverd.IsSelected = true;
-                };
-                btnCoverd.MouseUpEventHandler = (sender, e) => {
-                    new System.Threading.Thread(() => {
-                        System.Threading.Thread.Sleep(200);
-                        Application.RunOnMainThread(() => {
-                            btnCoverd.IsSelected = false;
-                        });
-                    }) { IsBackground = true }.Start();
-                };
+                LoadEvent_ControlScene(btnCoverd, function);
 
                 Button btnDelayIcon;
                 btnDelayIcon = new Button()
@@ -644,6 +610,17 @@
                 };
                 view.AddChidren(btnDelayIcon);
 
+                Button btnCollection;
+                btnCollection = new Button()
+                {
+                    X = Application.GetRealWidth(116),
+                    Y = Application.GetRealWidth(8),
+                    Width = Application.GetMinRealAverage(32),
+                    Height = Application.GetMinRealAverage(32),
+                    SelectedImagePath = "Collection/CollectionWhiteIcon.png",
+                    UnSelectedImagePath = "Collection/CollectionIcon.png",
+                };
+                view.AddChidren(btnCollection);
                 Button btnName;
                 btnName = new Button()
                 {
@@ -673,17 +650,6 @@
                 };
                 view.AddChidren(btnZone);
 
-                Button btnCollection;
-                btnCollection = new Button()
-                {
-                    X = Application.GetRealWidth(116),
-                    Y = Application.GetRealWidth(8),
-                    Width = Application.GetMinRealAverage(32),
-                    Height = Application.GetMinRealAverage(32),
-                    SelectedImagePath = "Collection/CollectionWhiteIcon.png",
-                    UnSelectedImagePath = "Collection/CollectionIcon.png",
-                };
-                view.AddChidren(btnCollection);
 
             }
             catch (Exception ex)
@@ -693,4 +659,4 @@
         }
 
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0