From 3f6685c77beeb12baf840733fb890860f4c26e7c Mon Sep 17 00:00:00 2001
From: mac <user@users-MacBook-Pro.local>
Date: 星期四, 25 七月 2024 17:25:59 +0800
Subject: [PATCH] 2024年07月25日17:24:45

---
 HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs | 2400 ++++++++++-------------------------------------------------
 1 files changed, 416 insertions(+), 1,984 deletions(-)

diff --git a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
index 3593598..6232dd0 100644
--- a/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
+++ b/HDL_ON/UI/UI2/3-Intelligence/Scene/SetSceneFunctionInfoPage.cs
@@ -1,1847 +1,9 @@
-锘�//using System;
-//using HDL_ON.Entity;
-//using HDL_ON.UI.CSS;
-//using Shared;
-//using System.Collections.Generic;
-
-//namespace HDL_ON.UI
-//{
-//    public class SceneFunctionInfoEditPage : FrameLayout
-//    {
-//        FrameLayout bodyView;
-//        VerticalScrolViewLayout contentView;
-//        Button btnOnText;
-//        Button btnBrightnessText;
-
-//        Scene scene;
-
-//        Action refreshAction;
-//        SceneFunction sceneFunction;
-
-//        bool isColorful = false;
-
-//        public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
-//        {
-//            bodyView = this;
-//            scene = s;
-//            sceneFunction = fc.localFunction.ConvertSceneFunction();
-//            foreach(var ll in sceneFunction.status)
-//            {
-//                try
-//                {
-//                    var temp = fc.status.Find((obj) => obj.key == ll.key);
-//                    if (temp != null)
-//                        ll.value = temp.value;
-//                }
-//                catch { }
-//            }
-//            refreshAction = action;
-//        }
-
-//        public void LoadPage()
-//        {
-//            bodyView.BackgroundColor = CSS_Color.BackgroundColor;
-
-//            new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView();
-
-//            contentView = new VerticalScrolViewLayout()
-//            {
-//                Y = Application.GetRealHeight(64),
-//                Height = Application.GetRealHeight(520),
-//                ScrollEnabled = false,
-//            };
-//            bodyView.AddChidren(contentView);
-
-//            var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
-
-//            LoadFunctionRow(onOffStatus);
-
-//            if (sceneFunction.localFunction.spk == SPK.LightRGB)
-//            {
-//                var colorfulStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
-//                if (colorfulStatus != null)
-//                {
-//                    isColorful = true;
-//                    LoadColorfulRow(colorfulStatus);
-//                }
-//            }
-//            if(!isColorful)
-//            {
-//                foreach (var attr in sceneFunction.status)
-//                {
-//                    switch (attr.key)
-//                    {
-//                        case FunctionAttributeKey.SetTemp:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetTemp));
-//                            break;
-//                        case FunctionAttributeKey.Mode:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Mode));
-//                            break;
-//                        case FunctionAttributeKey.FanSpeed:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed));
-//                            break;
-//                        case FunctionAttributeKey.Percent:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent));
-//                            break;
-//                        case FunctionAttributeKey.Brightness:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness));
-//                            break;
-//                        case FunctionAttributeKey.FadeTime:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.FadeTime));
-//                            break;
-//                        case FunctionAttributeKey.CCT:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.CCT));
-//                            break;
-//                        case FunctionAttributeKey.RGB:
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.RGB));
-//                            break;
-//                        case "angle"://瑙掑害
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "angle"));
-//                            break;
-//                        case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻
-//                            LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security"));
-//                            break;
-//                    }
-//                }
-
-//                if (DB_ResidenceData.Instance.GatewayType != 0)
-//                {
-//                    //鍔犺浇寤舵椂Row
-//                    LoadDelayRow();
-//                }
-//            }
-//            var bottomView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(591),
-//                Height = Application.GetRealHeight(106),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(16),
-//            };
-//            bodyView.AddChidren(bottomView);
-
-//            var btnConfrim = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(12),
-//                Width = Application.GetRealWidth(220),
-//                Height = Application.GetRealWidth(44),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.MainBackgroundColor,
-//                BackgroundColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                IsBold = true,
-//                Radius = (uint) Application.GetRealWidth(22),
-//                TextID = StringId.Complete
-//            };
-//            bottomView.AddChidren(btnConfrim);
-
-//            btnConfrim.MouseUpEventHandler = (sender, e) =>
-//            {
-//                var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
-                
-//                if (temp != null)
-//                {
-//                    temp.delay = sceneFunction.delay;
-//                    foreach(var attr in sceneFunction.status)
-//                    {
-//                        var keva = temp.status.Find((obj) => obj.key == attr.key);
-//                        if (keva != null)
-//                        {
-//                            keva.value = attr.value;
-//                        }
-//                    }
-//                }
-//                else
-//                {
-//                    scene.functions.Add(sceneFunction);
-//                }
-//                if (!string.IsNullOrEmpty(scene.userSceneId))
-//                {
-//                    var result = scene.UpdateScene();
-//                    if (result == DAL.Server.StateCode.SUCCESS)
-//                    {
-//                        refreshAction();
-//                        this.RemoveFromParent();
-//                    }
-//                    else
-//                    {
-//                        DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
-//                    }
-//                }
-//                else
-//                {
-//                    refreshAction();
-//                    this.RemoveFromParent();
-//                }
-//            };
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇鍔熻兘Row
-//        /// </summary>
-//        void LoadFunctionRow(SceneFunctionStatus sceneStatus)
-//        {
-//            if (sceneStatus == null)
-//                return;
-//            #region Row code
-//            var row = new FrameLayout()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//            };
-//            contentView.AddChidren(row);
-
-
-//            if (sceneStatus.key != FunctionAttributeKey.OnOff)
-//            {
-//                row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-//            }
-//            else
-//            {
-//                if(sceneStatus.value == "stop")
-//                {
-//                    sceneStatus.value = "on";
-//                }
-//            }
-//            Button btnRight = new Button()
-//            {
-//                X = Application.GetRealWidth(339),
-//                Gravity = Gravity.CenterVertical,
-//                Width = Application.GetMinRealAverage(16),
-//                Height = Application.GetMinRealAverage(16),
-//                UnSelectedImagePath = "Public/Right.png",
-//            };
-//            row.AddChidren(btnRight);
-
-
-//            var showCode = "";
-
-//            if (sceneStatus.key == FunctionAttributeKey.Mode)
-//            {
-//                if (DB_ResidenceData.Instance.GatewayType == 0)
-//                {
-//                    if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
-//                    {
-//                        //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
-//                        switch (sceneStatus.value)
-//                        {
-//                            case "0":
-//                                showCode = "cool";
-//                                break;
-//                            case "1":
-//                                showCode = "heat";
-//                                break;
-//                            case "2":
-//                                showCode = "fan";
-//                                break;
-//                            case "3":
-//                                showCode = "auto";
-//                                break;
-//                            case "4":
-//                                showCode = "dry";
-//                                break;
-//                        }
-//                    }
-//                    else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
-//                    {
-//                        //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
-//                        switch (sceneStatus.value)
-//                        {
-//                            case "5":
-//                                showCode = "timer";
-//                                break;
-//                            case "1":
-//                                showCode = "normal";
-//                                break;
-//                            case "2":
-//                                showCode = "day";
-//                                break;
-//                            case "3":
-//                                showCode = "night";
-//                                break;
-//                            case "4":
-//                                showCode = "away";
-//                                break;
-//                        }
-//                    }
-//                }
-//            }
-
-//            var btnFunctionText = new Button()
-//            {
-//                Width = Application.GetRealWidth(330),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                Text = sceneStatus.GetValueText(showCode) + sceneStatus.GetUintString()
-//            };
-//            row.AddChidren(btnFunctionText);
-//            if (sceneStatus.key == FunctionAttributeKey.RGB)
-//            {
-//                btnFunctionText.Width = Application.GetRealWidth(28);
-//                btnFunctionText.Height = Application.GetRealWidth(28);
-//                btnFunctionText.X = Application.GetRealWidth(330 - 28);
-//                btnFunctionText.Gravity = Gravity.CenterVertical;
-//                btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
-//                btnFunctionText.Text = "";
-//                btnFunctionText.BackgroundColor = (uint)(0xFF000000 + new Light().GetRGBcolor(sceneStatus.value));
-//            }
-
-
-
-//            if (sceneStatus.key == FunctionAttributeKey.OnOff)
-//            {
-//                btnOnText = btnFunctionText;
-//            }
-//            else if (sceneStatus.key == FunctionAttributeKey.Brightness || sceneStatus.key == FunctionAttributeKey.Percent)
-//            {
-//                int outT = 0;
-//                int.TryParse(sceneStatus.value, out outT);
-//                if (outT < 0)
-//                    sceneStatus.value = "0";
-//                btnBrightnessText = btnFunctionText;
-//            }
-
-//            var btnFunctionName = new Button()
-//            {
-//                X = Application.GetRealWidth(16),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                Text = sceneStatus.GetNameText()
-//            };
-//            row.AddChidren(btnFunctionName);
-//            btnFunctionName.MouseUpEventHandler = (sender, e) =>
-//            {
-//                switch (sceneStatus.key)
-//                {
-//                    case FunctionAttributeKey.Security:
-//                        LoadEditDialog_Security(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.OnOff:
-//                        LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.Brightness:
-//                        LoadEditDialog_Percent(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.Mode:
-//                        var statusList = new List<string>();
-//                        var tr = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.Mode);
-//                        foreach(var t in tr.value)
-//                        {
-//                            statusList.Add(t);
-//                        }
-//                        LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText,statusList);
-//                        break;
-//                    case FunctionAttributeKey.FanSpeed:
-//                        var fanStatusList = new List<string>();
-//                        var tr1 = sceneFunction.localFunction.attributes.Find((obj) => obj.key == FunctionAttributeKey.FanSpeed);
-//                        foreach (var t in tr1.value)
-//                        {
-//                            fanStatusList.Add(t);
-//                        }
-//                        LoadEditDialog_FunctionPar(sceneStatus, btnFunctionText, fanStatusList);
-//                        break;
-//                    case FunctionAttributeKey.SetTemp:
-//                        LoadEditDialog_Temp(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.FadeTime:
-
-//                        break;
-//                    case "angle":
-//                        //鍛堢幇鐨勫脊绐�
-//                        LoadEditDialog_Angle(sceneStatus, btnFunctionText);
-
-//                        break;
-//                    case "cct":
-//                        LoadEditDialog_CCT(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.RGB:
-//                        btnFunctionText.Width = Application.GetRealWidth(28);
-//                        btnFunctionText.Height = Application.GetRealWidth(28);
-//                        btnFunctionText.X = Application.GetRealWidth(330 - 28);
-//                        btnFunctionText.Gravity = Gravity.CenterVertical;
-//                        btnFunctionText.Radius = (uint)Application.GetRealWidth(8);
-//                        btnFunctionText.Text = "";
-
-//                        LoadEditDialog_RGB(sceneStatus, btnFunctionText);
-//                        break;
-//                    case FunctionAttributeKey.Percent:
-//                        LoadEditDialog_Percent(sceneStatus, btnFunctionText);
-//                        break;
-//                }
-//            };
-
-//            #endregion
-//        }
-
-//        /// <summary>
-//        /// 鍔犺浇鍔熻兘Row
-//        /// </summary>
-//        void LoadColorfulRow(SceneFunctionStatus sceneStatus)
-//        {
-//            if (sceneStatus == null)
-//                return;
-//            #region Row code
-//            var row = new FrameLayout()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//            };
-//            contentView.AddChidren(row);
-
-//            row.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            Button btnRight = new Button()
-//            {
-//                X = Application.GetRealWidth(339),
-//                Gravity = Gravity.CenterVertical,
-//                Width = Application.GetMinRealAverage(16),
-//                Height = Application.GetMinRealAverage(16),
-//                UnSelectedImagePath = "Public/Right.png",
-//            };
-//            row.AddChidren(btnRight);
-
-
-//            var showCode = "";
-
-//            var btnFunctionText = new Button()
-//            {
-//                Width = Application.GetRealWidth(330),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                Text = sceneStatus.GetValueText(showCode)
-//            };
-//            row.AddChidren(btnFunctionText);
-
-//            var btnFunctionName = new Button()
-//            {
-//                X = Application.GetRealWidth(16),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.ColorfulFunction
-//            };
-//            row.AddChidren(btnFunctionName);
-//            btnFunctionName.MouseUpEventHandler = (sender, e) =>
-//            {
-//                LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
-//            };
-
-//            #endregion
-//        }
-
-
-
-//        #region 鍔犺浇鍔熻兘鍦烘櫙鏁版嵁璋冭妭鐣岄潰
-//        /// <summary>
-//        /// 鍔犺浇寤舵椂Row
-//        /// </summary>
-//        void LoadDelayRow()
-//        {
-//            #region 寤舵椂row
-//            FrameLayout delayRow = new FrameLayout()
-//            {
-//                Height = Application.GetRealWidth(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor
-//            };
-//            contentView.AddChidren(delayRow);
-//            delayRow.AddChidren(new Button() { X = Application.GetRealWidth(16), Height = Application.GetRealHeight(1), Width = Application.GetRealWidth(343), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            Button btnDelayRight = new Button()
-//            {
-//                X = Application.GetRealWidth(339),
-//                Gravity = Gravity.CenterVertical,
-//                Width = Application.GetMinRealAverage(16),
-//                Height = Application.GetMinRealAverage(16),
-//                UnSelectedImagePath = "Public/Right.png",
-//            };
-//            delayRow.AddChidren(btnDelayRight);
-
-//            var btnDelayInfo = new Button()
-//            {
-//                Width = Application.GetRealWidth(327),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                Text = new Scene() { delay = sceneFunction.delay }.GetDelayText()
-//            };
-//            delayRow.AddChidren(btnDelayInfo);
-
-//            Button btnSceneDelayTitle = new Button()
-//            {
-//                X = Application.GetRealWidth(16),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.Delay,
-//            };
-//            delayRow.AddChidren(btnSceneDelayTitle);
-
-
-//            btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => {
-//                Action<string> action = (obj) => {
-//                    sceneFunction.delay = obj;
-//                    btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
-//                };
-//                Dictionary<string, string> items = new Dictionary<string, string>();
-//                items.Add("30", "30s");
-//                items.Add("60", "1min");
-//                items.Add("120", "2min");
-//                items.Add("300", "5min");
-//                new PublicAssmebly().SetSceneDelayDialog(action, sceneFunction.delay);
-//            };
-//            #endregion
-
-
-//        }
-
-//        #endregion
-
-//        #region 灞炴�ч�夋嫨寮圭獥
-//        /// <summary>
-//        /// 鍔犺浇寮�鍏抽�夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_OnOff(SceneFunctionStatus trait, Button btn)
-//        {
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(500),
-//                Height = Application.GetRealHeight(160),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var optionView = new VerticalScrolViewLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(100),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//                ScrollEnabled = false,
-//            };
-//            optionBaseView.AddChidren(optionView);
-
-//            var btnOn = new Button()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.TextualColor,
-//                SelectedTextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.On,
-//                IsSelected = trait.value.ToString() == "on"
-//            };
-//            optionView.AddChidren(btnOn);
-
-//            optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnOff = new Button()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.TextualColor,
-//                SelectedTextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.OFF,
-//                IsSelected = trait.value.ToString() == "off"
-//            };
-//            optionView.AddChidren(btnOff);
-
-//            var btnCancel = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(8) + optionView.Bottom,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//                TextID = StringId.Cancel,
-//                TextColor = CSS_Color.WarningColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//            };
-//            optionBaseView.AddChidren(btnCancel);
-
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            btnOn.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                trait.value = "on";
-//                sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "on";
-//                btn.Text = trait.GetValueText() + trait.GetUintString();
-
-//                var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
-//                if (temp == null)
-//                {
-//                    temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
-//                }
-//                if (temp != null)
-//                {
-//                    if (temp.value == "0")
-//                    {
-//                        temp.value = "100";
-//                    }
-//                    btnBrightnessText.Text = temp.GetValueText() + "%";
-//                }
-//            };
-//            btnOff.MouseUpEventHandler = (sender,e) =>{
-//                dialog.Close();
-//                trait.value = "off";
-//                sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = "off";
-//                btn.Text= trait.GetValueText() + trait.GetUintString();
-
-//                var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Brightness);
-//                if(temp == null)
-//                {
-//                    temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Percent);
-//                }
-//                if (temp != null)
-//                {
-//                    if (temp.value != "0")
-//                    {
-//                        temp.value = "0";
-//                    }
-//                    btnBrightnessText.Text = temp.GetValueText() + "%";
-//                }
-//            };
-
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇瀹夐槻甯冮槻閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_Security(SceneFunctionStatus trait, Button btn)
-//        {
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(500),
-//                Height = Application.GetRealHeight(160),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var optionView = new VerticalScrolViewLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(100),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//                ScrollEnabled = false,
-//            };
-//            optionBaseView.AddChidren(optionView);
-
-//            var btnOn = new Button()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.TextualColor,
-//                SelectedTextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.Defense,
-//                IsSelected = trait.value.ToString() == "true"
-//            };
-//            optionView.AddChidren(btnOn);
-
-//            optionView.AddChidren(new Button() { Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnOff = new Button()
-//            {
-//                Height = Application.GetRealHeight(50),
-//                TextAlignment = TextAlignment.Center,
-//                TextColor = CSS_Color.TextualColor,
-//                SelectedTextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.Undefense,
-//                IsSelected = trait.value.ToString() == "false"
-//            };
-//            optionView.AddChidren(btnOff);
-
-//            var btnCancel = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Y = Application.GetRealHeight(8) + optionView.Bottom,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//                TextID = StringId.Cancel,
-//                TextColor = CSS_Color.WarningColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//            };
-//            optionBaseView.AddChidren(btnCancel);
-
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            btnOn.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                trait.value = "true";
-//                sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "true";
-//                btn.Text = trait.GetValueText() + trait.GetUintString();
-
-//            };
-//            btnOff.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                trait.value = "false";
-//                sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "false";
-//                btn.Text = trait.GetValueText() + trait.GetUintString();
-
-//            };
-
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇娓╁害閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_Temp(SceneFunctionStatus trait, Button btn)
-//        {
-//            double temp = trait.min;
-//            double.TryParse(trait.value, out temp);
-//            trait.value = temp.ToString();
-
-//            List<string> pickerItems = new List<string>();
-//            if(trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(456-60),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(260),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(40),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-//            topView.AddChidren(new Button() {Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(160),
-//                Width = Application.GetRealWidth(160),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Confirm,
-//            };
-//            topView.AddChidren(btnConfrim);
-
-//            UIPickerView uIPickerView = new UIPickerView()
-//            {
-//                Y = Application.GetRealHeight(40),
-//                Height = Application.GetRealHeight(210),
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            for (int i = trait.min; i <= trait.max; i += 1)
-//            {
-//                pickerItems.Add(i.ToString() + trait.GetUintString());
-//            }
-//            uIPickerView.setNPicker(pickerItems, null, null);
-//            optionBaseView.AddChidren(uIPickerView);
-//            uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
-
-//            string selectItem = pickerItems[0];
-//            if (pickerItems.Contains(trait.value + trait.GetUintString()))
-//            {
-//                selectItem = trait.value.ToString() + trait.GetUintString();
-//            }
-
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
-//                selectItem = pickerItems[int1];
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                btn.Text = selectItem;
-//                //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
-//                trait.value = selectItem.Replace(trait.GetUintString(),"");
-//            };
-
-//        }
-
-//        /// <summary>
-//        /// 鍔犺浇娓╁害閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn)
-//        {
-//            double temp = trait.min;
-//            double.TryParse(trait.value, out temp);
-//            trait.value = temp.ToString();
-
-//            List<string> pickerItems = new List<string>();
-//            if (trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(456 - 60),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(260),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(40),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-//            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(160),
-//                Width = Application.GetRealWidth(160),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Confirm,
-//            };
-//            topView.AddChidren(btnConfrim);
-
-//            UIPickerView uIPickerView = new UIPickerView()
-//            {
-//                Y = Application.GetRealHeight(40),
-//                Height = Application.GetRealHeight(210),
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            for (int i = trait.min; i <= trait.max; i += 1)
-//            {
-//                pickerItems.Add(i.ToString() + trait.GetUintString());
-//            }
-//            uIPickerView.setNPicker(pickerItems, null, null);
-//            optionBaseView.AddChidren(uIPickerView);
-//            uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()+ "掳"), 0, 0);
-
-//            string selectItem = pickerItems[pickerItems.IndexOf(trait.value.ToString() + "掳")];
-//            if (pickerItems.Contains(trait.value + trait.GetUintString()))
-//            {
-//                selectItem = trait.value.ToString() + trait.GetUintString();
-//            }
-//            //uIPickerView.setCurrentItems
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
-//                selectItem = pickerItems[int1];
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                btn.Text = selectItem;
-//                //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
-//                trait.value = selectItem.Replace(trait.GetUintString(), "");
-//            };
-
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇浜害閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_Percent(SceneFunctionStatus trait, Button btn)
-//        {
-//            if (trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(467),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(180),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(40),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-//            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnTitle = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                TextAlignment = TextAlignment.Center,
-//                Width = Application.GetRealWidth(100),
-//                Text = trait.GetNameText(),
-//                IsBold = true,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//            };
-//            topView.AddChidren(btnTitle);
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(200),
-//                Width = Application.GetRealWidth(120),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Confirm,
-//            };
-//            topView.AddChidren(btnConfrim);
-
-//            Button btnMinusSignIcon = new Button()
-//            {
-//                X = Application.GetRealWidth(26),
-//                Y = Application.GetRealHeight(118),
-//                Width = Application.GetMinRealAverage(24),
-//                Height = Application.GetMinRealAverage(24),
-//                UnSelectedImagePath = "Public/MinusSignIcon.png",
-//            };
-//            optionBaseView.AddChidren(btnMinusSignIcon);
-
-//            DiyImageSeekBar controlBar = new DiyImageSeekBar()
-//            {
-//                X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
-//                Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
-//                Width = Application.GetRealWidth(220),
-//                Height = Application.GetRealHeight(54),
-//                SeekBarViewHeight = Application.GetRealHeight(8),
-//                ThumbImagePath = "Public/ThumbImage.png",
-//                ThumbImageHeight = Application.GetRealHeight(54),
-//                ProgressBarColor = CSS_Color.MainColor,
-//                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
-//                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                MaxValue = 100,
-//                Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
-//                SeekBarPadding = Application.GetRealWidth(20),
-//            };
-//            optionBaseView.AddChidren(controlBar);
-
-//            Button btnPlusSgnIcon = new Button()
-//            {
-//                X = controlBar.Right + Application.GetRealWidth(12),
-//                Y = Application.GetRealHeight(118),
-//                Width = Application.GetMinRealAverage(24),
-//                Height = Application.GetMinRealAverage(24),
-//                UnSelectedImagePath = "Public/PlusSignIcon.png",
-//            };
-//            optionBaseView.AddChidren(btnPlusSgnIcon);
-
-//            btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                controlBar.Progress--;
-//            };
-//            btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                controlBar.Progress++;
-//            };
-
-//            dialog.Show();
-//            pView.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//                trait.value = controlBar.Progress.ToString();
-//                btn.Text = trait.value + trait.GetUintString();
-
-//                var temp = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
-//                if (temp != null)
-//                {
-//                    if (controlBar.Progress > 0)
-//                    {
-//                        temp.value = "on";
-//                    }
-//                    else
-//                    {
-//                        temp.value = "off";
-//                    }
-//                    btnOnText.Text = temp.GetValueText();
-//                }
-//            };
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇cct閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
-//        {
-//            double temp = trait.min;
-//            double.TryParse(trait.value, out temp);
-//            trait.value = temp.ToString();
-
-//            List<string> pickerItems = new List<string>();
-//            if (trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(456 - 60),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(260),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(40),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-//            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(200),
-//                Width = Application.GetRealWidth(120),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Confirm,
-//            };
-//            topView.AddChidren(btnConfrim);
-
-//            UIPickerView uIPickerView = new UIPickerView()
-//            {
-//                Y = Application.GetRealHeight(40),
-//                Height = Application.GetRealHeight(210),
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            for (int i = trait.min; i <= trait.max; i += 100)
-//            {
-//                pickerItems.Add(i.ToString() + trait.GetUintString());
-//            }
-//            uIPickerView.setNPicker(pickerItems, null, null);
-//            optionBaseView.AddChidren(uIPickerView);
-//            uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
-
-//            string selectItem = pickerItems[0];
-//            if (pickerItems.Contains(trait.value + trait.GetUintString()))
-//            {
-//                selectItem = trait.value.ToString() + trait.GetUintString();
-//            }
-
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
-//                selectItem = pickerItems[int1];
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                btn.Text = selectItem;
-//                //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
-//                trait.value = selectItem.Replace(trait.GetUintString(), "");
-//            };
-
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇rgb閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_RGB(SceneFunctionStatus trait, Button btn)
-//        {
-//            string rgbString = trait.value;
-
-//            Light tempLight = new Light();
-
-//            if (trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var bodyView = new FrameLayout();
-//            dialog.AddChidren(bodyView);
-
-//            var contentView = new FrameLayout()
-//            {
-//                Gravity = Gravity.Center,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(52 + 44 + 18 + 22 + 248),
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            bodyView.AddChidren(contentView);
-
-//            #region 鏍囬鍖�
-//            var titleView = new FrameLayout()
-//            {
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(52),
-//            };
-//            contentView.AddChidren(titleView);
-
-//            var btnTitle = new Button()
-//            {
-//                Height = Application.GetRealHeight(52),
-//                Gravity = Gravity.Center,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextColor = CSS_Color.MainColor,
-//                TextID = StringId.ColorValue,
-//                TextAlignment = TextAlignment.Center,
-//            };
-//            titleView.AddChidren(btnTitle);
-//            titleView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor, Y = Application.GetRealHeight(51) });
-
-//            #endregion
-
-//            int attrViewHight = Application.GetRealHeight(18 + 22+ 248);
-//            //灞炴�ц缃尯鍩�
-//            var attrView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(52),
-//                Width = Application.GetRealWidth(343),
-//                Height = attrViewHight
-//            };
-//            contentView.AddChidren(attrView);
-//            attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) });
-
-            
-
-//            #region RGB
-//            var rgbView = new FrameLayout()
-//            {
-//                Height = Application.GetRealHeight(248)
-//            };
-//            attrView.AddChidren(rgbView);
-
-
-//            var btnCurColor = new Button()
-//            {
-//                X = Application.GetRealWidth(24),
-//                Y = Application.GetRealHeight(10),
-//                Width = Application.GetMinRealAverage(24),
-//                Height = Application.GetMinRealAverage(24),
-//                Radius = (uint)Application.GetMinRealAverage(8),
-//                BorderColor = CSS_Color.PromptingColor2,
-//                BorderWidth = 1,
-//                BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(trait.value))
-//            };
-//            rgbView.AddChidren(btnCurColor);
-
-//            //鑹茬洏鐨勬甯冩帶浠�(闄愬埗閭d釜鐧借壊婊戝姩鐞冧娇鐢�)
-//            var framePickerBack = new FrameLayout();
-//            framePickerBack.Gravity = Gravity.CenterHorizontal;
-//            framePickerBack.Y = Application.GetRealHeight(20);
-//            framePickerBack.Width = Application.GetMinRealAverage(198);
-//            framePickerBack.Height = Application.GetMinRealAverage(198);
-//            rgbView.AddChidren(framePickerBack);
-
-//            var colorPicker = new ColorPicker()
-//            {
-//                ColorImagePath = "FunctionIcon/Light/ColorWheel.png",
-//            };
-//            framePickerBack.AddChidren(colorPicker);
-
-
-
-
-
-
-//            //鐧界偣鎺т欢
-//            var btnWhiteRound = new Button();
-//            btnWhiteRound.Width = Application.GetRealWidth(24);
-//            btnWhiteRound.Height = Application.GetRealWidth(24);
-//            btnWhiteRound.UnSelectedImagePath = "FunctionIcon/Light/ColorWheelTip.png";
-//            btnWhiteRound.Visible = false;
-//            framePickerBack.AddChidren(btnWhiteRound);
-
-
-//            //褰撳墠鐐瑰嚮鐨勩�愮偣銆戞槸鍚︽纭�
-//            bool pointIsRight = false;
-//            //鍦嗙殑鍗婂緞(鑰冭檻杈圭晫,闇�瑕佽缃畠鐨勫崐寰勬瘮杈冨皬涓�鐐�)
-//            int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
-
-
-//            colorPicker.ColorChaged += (sender2, e2) => {
-//                rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
-//                //trait.value = rgbString;
-//                btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
-//            };
-//            colorPicker.MouseDownEventHandler += (sender, e) =>
-//            {
-//                pointIsRight = this.CheckPoint(circleR, colorPicker.Width / 2, colorPicker.Height / 2, (int)e.X, (int)e.Y);
-//                if (pointIsRight == false)
-//                {
-//                    //鐐圭殑鍖哄煙涓嶆槸鍦嗙洏鍐�
-//                    return;
-//                }
-//                //鏄剧ず鐧界偣
-//                btnWhiteRound.X = (int)e.X - btnWhiteRound.Width / 2;
-//                btnWhiteRound.Y = (int)e.Y - btnWhiteRound.Height / 2;
-//                if (btnWhiteRound.Visible == false)
-//                {
-//                    btnWhiteRound.Visible = true;
-//                }
-//            };
-
-//            colorPicker.MouseMoveEventHandler += (sender, e) =>
-//            {
-//                //褰撻紶鏍囩偣涓嬩簨浠跺鐞�
-//                colorPicker.MouseDownEventHandler(sender, e);
-//            };
-
-
-//            #endregion
-
-
-
-
-//            #region bottom View
-//            var bottomView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(52) + attrViewHight,
-//                Height = Application.GetRealHeight(46),
-//            };
-//            contentView.AddChidren(bottomView);
-//            bottomView.AddChidren(new Button() { Height = 1, BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnCancel = new Button()
-//            {
-//                Width = Application.GetRealWidth(172),
-//                Height = Application.GetRealHeight(44),
-//                TextAlignment = TextAlignment.Center,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextColor = CSS_Color.TextualColor,
-//                TextID = StringId.Cancel,
-//            };
-//            bottomView.AddChidren(btnCancel);
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            var btnComplete = new Button()
-//            {
-//                X = Application.GetRealWidth(172),
-//                Width = Application.GetRealWidth(172),
-//                Height = Application.GetRealHeight(46),
-//                BackgroundColor = CSS_Color.MainColor,
-//                TextColor = CSS_Color.MainBackgroundColor,
-//                TextAlignment = TextAlignment.Center,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//                TextID = StringId.Complete
-//            };
-//            bottomView.AddChidren(btnComplete);
-
-//            //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
-//            int mRectCornerID = HDLUtils.RectCornerBottomRight;
-//            btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
-//            btnComplete.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                trait.value = rgbString;
-//                btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
-//            };
-
-//            #endregion
-
-
-//            dialog.Show();
-
-//        }
-
-
-//        /// <summary>
-//        /// 妫�娴嬬偣鍑荤偣
-//        /// </summary>
-//        /// <param name="circleR">鍦嗙殑鍗婂緞</param>
-//        /// <param name="circleX">鍦嗗績X杞�</param>
-//        /// <param name="circleY">鍦嗗績Y杞�</param>
-//        /// <param name="pointX">鐐瑰嚮鐐圭殑X杞�</param>
-//        /// <param name="pointY">鐐瑰嚮鐐圭殑Y杞�</param>
-//        /// <returns></returns>
-//        private bool CheckPoint(int circleR, int circleX, int circleY, int pointX, int pointY)
-//        {
-//            int dwidth = circleX - pointX;
-//            if (dwidth < 0) { dwidth *= -1; }
-
-//            int dHeight = circleY - pointY;
-//            if (dHeight < 0) { dHeight *= -1; }
-
-//            //鏍规嵁涓夎鍑芥暟,姹備笁瑙掑舰鐨勬枩杈归暱
-//            int dlength = dwidth * dwidth + dHeight * dHeight;
-//            //鍗婂緞闀垮害(涓嶅紑鏂�,鎵�浠ユ槸鎸夊钩鏂圭畻)
-//            circleR *= circleR;
-//            if (dlength < circleR)
-//            {
-//                //濡傛灉缁勬垚鐨勪笁瑙掑舰骞舵病鏈夐暱杩囧崐寰�,鍒欎唬琛ㄨ繕鍦ㄥ渾鍐�(涓嶅厑璁哥偣杈圭晫)
-//                return true;
-//            }
-//            return false;
-//        }
-
-
-
-//        /// <summary>
-//        /// 鍔犺浇鍙樺寲閫熷害閫夋嫨寮圭獥
-//        /// </summary>
-//        /// <param name="function"></param>
-//        /// <param name="btn"></param>
-//        void LoadEditDialog_FadeTime(SceneFunctionStatus trait, Button btn)
-//        {
-//            if (trait == null)
-//            {
-//                return;
-//            }
-
-//            Dialog dialog = new Dialog();
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(467),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(180),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(40),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-//            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
-
-//            var btnTitle = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                TextAlignment = TextAlignment.Center,
-//                Width = Application.GetRealWidth(100),
-//                Text = trait.GetNameText(),
-//                IsBold = true,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//            };
-//            topView.AddChidren(btnTitle);
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(200),
-//                Width = Application.GetRealWidth(120),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Confirm,
-//            };
-//            topView.AddChidren(btnConfrim);
-
-//            Button btnMinusSignIcon = new Button()
-//            {
-//                X = Application.GetRealWidth(26),
-//                Y = Application.GetRealHeight(118),
-//                Width = Application.GetMinRealAverage(24),
-//                Height = Application.GetMinRealAverage(24),
-//                Text = "0s",
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//            };
-//            optionBaseView.AddChidren(btnMinusSignIcon);
-
-//            DiyImageSeekBar controlBar = new DiyImageSeekBar()
-//            {
-//                X = btnMinusSignIcon.Right + Application.GetRealWidth(12),
-//                Y = Application.GetRealHeight(100),//414,璁捐鏁版嵁
-//                Width = Application.GetRealWidth(220),
-//                Height = Application.GetRealHeight(54),
-//                SeekBarViewHeight = Application.GetRealHeight(8),
-//                ThumbImagePath = "Public/ThumbImage.png",
-//                ThumbImageHeight = Application.GetRealHeight(54),
-//                ProgressBarColor = CSS_Color.MainColor,
-//                ProgressTextColor = CSS_Color.FirstLevelTitleColor,
-//                ProgressTextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//                MaxValue = 100,
-//                Progress = trait.value.ToString().Replace("{}", "") == "" ? 0 : Convert.ToInt32(trait.value.Replace("{}", "")),
-//                SeekBarPadding = Application.GetRealWidth(20),
-//            };
-//            optionBaseView.AddChidren(controlBar);
-
-//            Button btnPlusSgnIcon = new Button()
-//            {
-//                X = controlBar.Right + Application.GetRealWidth(12),
-//                Y = Application.GetRealHeight(118),
-//                Width = Application.GetMinRealAverage(24),
-//                Height = Application.GetMinRealAverage(24),
-//                Text = "10s",
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-//            };
-//            optionBaseView.AddChidren(btnPlusSgnIcon);
-
-//            btnMinusSignIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                controlBar.Progress--;
-//            };
-//            btnPlusSgnIcon.MouseUpEventHandler = (sender, e) =>
-//            {
-//                controlBar.Progress++;
-//            };
-
-//            dialog.Show();
-//            pView.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) =>
-//            {
-//                dialog.Close();
-//                trait.value = controlBar.Progress.ToString();
-//                btn.Text = trait.value + trait.GetUintString();
-//            };
-//        }
-
-
-//        /// <summary>
-//        /// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥
-//        /// </summary>
-//        void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List<string> statusList)
-//        {
-//            Button lastButton = new Button();
-//            var lastData = "";
-//            var lastText = "";
-//            Dialog dialog = new Dialog();
-
-//            if(DB_ResidenceData.Instance.GatewayType == 0)
-//            {
-//                if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
-//                {
-//                    //0 鍒跺喎1鍒剁儹锛�2閫氶锛�3鑷姩锛�4闄ゆ箍
-//                    for (int i = 0; i < statusList.Count; i++)
-//                    {
-//                        if (statusList[i] == "0")
-//                        {
-//                            statusList[i] = "cool";
-//                        }
-//                        else if (statusList[i] == "1")
-//                        {
-//                            statusList[i] = "heat";
-//                        }
-//                        else if (statusList[i] == "2")
-//                        {
-//                            statusList[i] = "fan";
-//                        }
-//                        else if (statusList[i] == "3")
-//                        {
-//                            statusList[i] = "auto";
-//                        }
-//                        else if (statusList[i] == "4")
-//                        {
-//                            statusList[i] = "dry";
-//                        }
-//                    }
-//                }
-//                else if (SPK.FhSpkList().Contains(sceneFunction.localFunction.spk))
-//                {
-//                    //1:鏅��,2:鐧藉ぉ,3:澶滄櫄,4:绂诲紑,5:鏃堕棿
-//                    for (int i = 0; i < statusList.Count; i++)
-//                    {
-//                        if (statusList[i] == "5")
-//                        {
-//                            statusList[i] = "timer";
-//                        }
-//                        else if (statusList[i] == "1")
-//                        {
-//                            statusList[i] = "normal";
-//                        }
-//                        else if (statusList[i] == "2")
-//                        {
-//                            statusList[i] = "day";
-//                        }
-//                        else if (statusList[i] == "3")
-//                        {
-//                            statusList[i] = "night";
-//                        }
-//                        else if (statusList[i] == "4")
-//                        {
-//                            statusList[i] = "away";
-//                        }
-//                    }
-
-//                }
-//            }
-
-//            var pView = new FrameLayout()
-//            {
-//                BackgroundColor = CSS_Color.DialogTransparentColor1,
-//            };
-//            dialog.AddChidren(pView);
-
-//            var optionBaseView = new FrameLayout()
-//            {
-//                Y = Application.GetRealHeight(579 - 50 * statusList.Count),
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(50 * statusList.Count + 50),
-//                AnimateSpeed = 0.3f,
-//                Animate = Animate.DownToUp,
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            pView.AddChidren(optionBaseView);
-
-//            var topView = new FrameLayout()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                Width = Application.GetRealWidth(343),
-//                Height = Application.GetRealHeight(50),
-//                BackgroundColor = CSS_Color.MainBackgroundColor,
-//                Radius = (uint)Application.GetRealWidth(12),
-//            };
-//            optionBaseView.AddChidren(topView);
-
-//            var btnTitle = new Button()
-//            {
-//                Gravity = Gravity.CenterHorizontal,
-//                TextAlignment = TextAlignment.Center,
-//                Width = Application.GetRealWidth(100),
-//                Text = trait.GetNameText(),
-//                IsBold = true,
-//                TextColor = CSS_Color.FirstLevelTitleColor,
-//                TextSize = CSS_FontSize.SubheadingFontSize,
-//            };
-//            topView.AddChidren(btnTitle);
-
-//            var btnCancel = new Button()
-//            {
-//                X = Application.GetRealWidth(21),
-//                Width = Application.GetRealWidth(100),
-//                TextAlignment = TextAlignment.CenterLeft,
-//                TextColor = CSS_Color.PromptingColor1,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Cancel,
-//            };
-//            topView.AddChidren(btnCancel);
-
-//            var btnConfrim = new Button()
-//            {
-//                X = Application.GetRealWidth(200),
-//                Width = Application.GetRealWidth(120),
-//                TextAlignment = TextAlignment.CenterRight,
-//                TextColor = CSS_Color.MainColor,
-//                TextSize = CSS_FontSize.TextFontSize,
-//                TextID = StringId.Complete,
-//            };
-//            topView.AddChidren(btnConfrim);
-//            int hei = 1;
-//            foreach (var m in statusList)
-//            {
-//                var row = new FrameLayout()
-//                {
-//                    Y = Application.GetRealHeight(50 * hei),
-//                    Height = Application.GetRealHeight(50),
-//                };
-//                optionBaseView.AddChidren(row);
-//                if (statusList.Count > hei)
-//                {
-//                    optionBaseView.AddChidren(new Button()
-//                    {
-//                        Gravity = Gravity.CenterHorizontal,
-//                        Y = row.Bottom,
-//                        Width = Application.GetRealWidth(343),
-//                        BackgroundColor = CSS_Color.DividingLineColor,
-//                        Height = 1,
-//                    });
-//                }
-//                hei++;
-
-//                var btnChoose = new Button()
-//                {
-//                    X = Application.GetRealWidth(303),
-//                    Gravity = Gravity.CenterVertical,
-//                    Width = Application.GetMinRealAverage(28),
-//                    Height = Application.GetMinRealAverage(28),
-//                    UnSelectedImagePath = "Public/ChooseIcon.png",
-//                    SelectedImagePath = "Public/ChooseOnIcon.png",
-
-//                };
-//                row.AddChidren(btnChoose);
-//                if (trait.value == m)
-//                {
-//                    lastButton = btnChoose;
-//                    btnChoose.IsSelected = true;
-//                }
-//                var btnPropertyTitle = new Button()
-//                {
-//                    X = Application.GetRealWidth(16),
-//                    TextAlignment = TextAlignment.CenterLeft,
-//                    TextColor = CSS_Color.FirstLevelTitleColor,
-//                    TextSize = CSS_FontSize.TextFontSize,
-//                    Tag = m,
-//                    Text = trait.GetValueText(m)
-//                };
-//                row.AddChidren(btnPropertyTitle);
-
-//                btnPropertyTitle.MouseUpEventHandler = (sender, e) => {
-//                    btnChoose.IsSelected = true;
-//                    if (lastButton != null)
-//                    {
-//                        lastButton.IsSelected = false;
-//                    }
-//                    lastButton = btnChoose;
-//                    lastData = btnPropertyTitle.Tag.ToString();
-//                    lastText = btnPropertyTitle.Text;
-//                };
-//            }
-
-
-
-
-//            dialog.Show();
-
-//            pView.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-
-//            btnCancel.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//            };
-//            btnConfrim.MouseUpEventHandler = (sender, e) => {
-//                dialog.Close();
-//                trait.value = lastData;
-//                //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.curValue.ToString() ;
-//                btn.Text = lastText;
-//            };
-
-//        }
-
-//        #endregion
-
-//    }
-//}
-
-
-
-
- 
- using System;
+锘縰sing System;
 using HDL_ON.Entity;
 using HDL_ON.UI.CSS;
 using Shared;
 using System.Collections.Generic;
+using System.Linq;
 
 namespace HDL_ON.UI
 {
@@ -1864,18 +26,23 @@
         SceneFunction rgbColorful;
         bool isOnStatus = false;
 
-        public SceneFunctionInfoEditPage(Scene s, SceneFunction fc,Action action)
+
+        public SceneFunctionInfoEditPage(Scene s, SceneFunction fc, Action action)
         {
+            
             bodyView = this;
             scene = s;
-            sceneFunction = fc.localFunction.ConvertSceneFunction();
-            foreach(var ll in sceneFunction.status)
+            sceneFunction = fc.localFunction.ConvertSceneFunction(); 
+            foreach (var ll in sceneFunction.status)
             {
                 try
                 {
                     var temp = fc.status.Find((obj) => obj.key == ll.key);
                     if (temp != null)
+                    {
                         ll.value = temp.value;
+                        //ll.UintString = temp.UintString;
+                    }
                 }
                 catch { }
             }
@@ -1886,22 +53,31 @@
         {
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
 
-            new TopViewDiv(bodyView, sceneFunction.localFunction.name).LoadTopView();
+            var topView = new TopViewDiv(bodyView, sceneFunction.localFunction.name);
+            topView.maginY = 10;
+            topView.LoadTopView();
 
             contentView = new VerticalScrolViewLayout()
             {
-                Y = Application.GetRealHeight(64),
-                Height = Application.GetRealHeight(520),
+                Y = Application.GetRealHeight(64 + 10),
+                Height = Application.GetRealHeight(510),
                 ScrollEnabled = false,
             };
             bodyView.AddChidren(contentView);
 
             var onOffStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff);
-            if(onOffStatus.value == "on")
+            if (onOffStatus != null)
+            {
+                if (onOffStatus.value == "on")
+                {
+                    isOnStatus = true;
+                }
+                LoadFunctionRow(onOffStatus);
+            }
+            else
             {
                 isOnStatus = true;
             }
-            LoadFunctionRow(onOffStatus);
 
             if (sceneFunction.localFunction.spk == SPK.LightRGB || sceneFunction.localFunction.spk == SPK.GroupControl)
             {
@@ -1947,6 +123,18 @@
                     case "security"://澶у崕鎽勫儚甯冮槻鎾ら槻
                         LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == "security"));
                         break;
+                    case FunctionAttributeKey.SetVolume:
+                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SetVolume));
+                        break;
+                    case FunctionAttributeKey.Signal:
+                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Signal));
+                        break;
+                    case FunctionAttributeKey.SongName:
+                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SongName));
+                        break;
+                    case FunctionAttributeKey.Volume:
+                        LoadFunctionRow(sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Volume));
+                        break;
                 }
             }
 
@@ -1975,14 +163,26 @@
                 BackgroundColor = CSS_Color.MainColor,
                 TextSize = CSS_FontSize.SubheadingFontSize,
                 IsBold = true,
-                Radius = (uint) Application.GetRealWidth(22),
+                Radius = (uint)Application.GetRealWidth(22),
                 TextID = StringId.Complete
             };
             bottomView.AddChidren(btnConfrim);
 
             btnConfrim.MouseUpEventHandler = (sender, e) =>
             {
-                if (sceneFunction.localFunction.spk == SPK.GroupControl) { }
+                if (sceneFunction.localFunction.spk == SPK.GroupControl)
+                {
+                    var colorBegin = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulBegin);
+                    if (colorBegin != null)
+                    {
+                        sceneFunction.status.Remove(colorBegin);
+                    }
+                    var colorEnd = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.ColorfulEnd);
+                    if (colorEnd != null)
+                    {
+                        sceneFunction.status.Remove(colorEnd);
+                    }
+                }
                 else
                 {
                     if (isOnStatus)
@@ -1995,55 +195,116 @@
                         }
                         else
                         {
-                            var isHasColorful = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
-                            if (isHasColorful != null)
+                            if (sceneFunction.localFunction.spk == SPK.ElectricalTvHisense)
                             {
-                                sceneFunction.status.Remove(isHasColorful);
+                                for(int i = 0;i< sceneFunction.status.Count;i++)
+                                {
+                                    var tvState = sceneFunction.status[i];
+                                    if (tvState.key == FunctionAttributeKey.OnOff)
+                                    {
+                                        tvState.key = "wol";
+                                        tvState.value = "on";
+                                    }
+                                    else
+                                    {
+                                        if(string.IsNullOrEmpty( tvState.value))
+                                        {
+                                            sceneFunction.status.RemoveAt(i);
+                                            i--;
+                                        }
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                var isHasColorful = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Colorful);
+                                if (isHasColorful != null)
+                                {
+                                    sceneFunction.status.Remove(isHasColorful);
+                                }
                             }
                         }
                     }
                     else
                     {
-                        sceneFunction.status.Clear();
-                        sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" });
+                        if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff) != null)
+                        {
+                            sceneFunction.status.Clear();
+                            sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.OnOff, value = "off" });
+                            sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.Delay, value = sceneFunction.delay });
+                        }
                     }
                 }
                 var temp = scene.functions.Find((obj) => obj.sid == sceneFunction.sid);
-                
-                if (temp != null)
+
+                try
                 {
-                    //temp.delay = sceneFunction.delay;
-                    //foreach (var attr in sceneFunction.status)
-                    //{
-                    //    var keva = temp.status.Find((obj) => obj.key == attr.key);
-                    //    if (keva != null)
-                    //    {
-                    //        keva.value = attr.value;
-                    //    }
-                    //}
-                    temp = sceneFunction;
-                }
-                else
-                {
-                    scene.functions.Add(sceneFunction);
-                }
-                if (!string.IsNullOrEmpty(scene.userSceneId))
-                {
-                    var result = scene.UpdateScene();
-                    if (result == DAL.Server.StateCode.SUCCESS)
+                    if (temp != null)
                     {
-                        refreshAction();
-                        this.RemoveFromParent();
+                        scene.functions.Remove(temp);
+                    }
+                        scene.functions.Insert(0, sceneFunction);
+
+
+                    if (sceneFunction.localFunction.spk == SPK.MusicStandard)
+                    {
+                        for (var i = 0; i < sceneFunction.status.Count;)
+                        {
+                            var ddd = sceneFunction.status[i];
+                            if (string.IsNullOrEmpty(ddd.value))
+                            {
+                                sceneFunction.status.Remove(ddd);
+                                continue;
+                            }
+                            i++;
+                        }
+
+                        if (sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.PlaylistName) == null)
+                        {
+                            if (isOnStatus)
+                            {
+                                var songNameStatus = sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.SongName);
+                                {
+                                    if (songNameStatus != null)
+                                    {
+                                        if (string.IsNullOrEmpty(songNameStatus.value))
+                                        {
+                                            sceneFunction.status.Add(new SceneFunctionStatus() { key = FunctionAttributeKey.PlaylistName, value = "hdl_special" });
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                    if (!string.IsNullOrEmpty(scene.userSceneId))
+                    {
+                        var result = scene.UpdateScene();
+                        if (result == DAL.Server.StateCode.SUCCESS)
+                        {
+                            refreshAction();
+                            this.RemoveFromParent();
+                        }
+                        else
+                        {
+                            DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
+                        }
                     }
                     else
                     {
-                        DAL.Server.IMessageCommon.Current.ShowErrorInfoAlter(result);
+                        try
+                        {
+                            refreshAction();
+                            this.RemoveFromParent();
+                        }
+                        catch
+                        {
+                            MainPage.Log($"xxxxxx123");
+                        }
                     }
                 }
-                else
+                catch
                 {
-                    refreshAction();
-                    this.RemoveFromParent();
+                    MainPage.Log($"xxxxxx1234");
                 }
             };
 
@@ -2053,49 +314,65 @@
 
         void UpdataFunctionRow()
         {
-            for (var i =0;i< functionRowList.Count; i++)
+            try
+            {
+                contentView.RemoveAll();
+            }
+            catch (Exception ex)
+            {
+                MainPage.Log(ex.Message);
+            }
+            for (var i = 0; i < functionRowList.Count; i++)
             {
                 try
                 {
                     var view = functionRowList[i];
-                    if(view!= null)
+                    if (view != null)
                     {
-                        if(view.GetType() == typeof(FrameLayout))
+                        if (view.GetType() == typeof(FrameLayout))
                         {
                             if (view.Tag != null)
                             {
-                                if (isOnStatus)
+                                if (view.Tag.ToString() == FunctionAttributeKey.OnOff || view.Tag.ToString() == "delay")
                                 {
-                                    if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
+                                    contentView.AddChidren(view);
+                                }
+                                else
+                                {
+                                    if (isOnStatus)
                                     {
-                                        if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB)
+                                        if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
                                         {
-                                            if(view.Tag.ToString() != FunctionAttributeKey.Colorful)
+                                            if (isColorful && sceneFunction.localFunction.spk == SPK.LightRGB)
                                             {
-                                                view.RemoveFromParent();
+                                                if (view.Tag.ToString() != FunctionAttributeKey.Colorful)
+                                                {
+                                                    view.RemoveFromParent();
+                                                }
+                                                else
+                                                {
+                                                    contentView.AddChidren(view);
+                                                }
                                             }
                                             else
                                             {
                                                 contentView.AddChidren(view);
                                             }
                                         }
-                                        else
-                                        {
-                                            contentView.AddChidren(view);
-                                        }
                                     }
-                                }
-                                else
-                                {
-                                    if (view.Tag.ToString() != FunctionAttributeKey.OnOff)
+                                    else
                                     {
-                                        view.RemoveFromParent();
+                                        if (view.Tag.ToString() != FunctionAttributeKey.OnOff && view.Tag.ToString() != "delay")
+                                        {
+                                            view.RemoveFromParent();
+                                        }
                                     }
                                 }
                             }
                         }
                     }
-                }catch(Exception ex)
+                }
+                catch (Exception ex)
                 {
                     MainPage.Log($"UpdataFuntionRow error:{ex.Message}");
                 }
@@ -2284,8 +561,8 @@
 
                             break;
                         case "angle":
-                        //鍛堢幇鐨勫脊绐�
-                        LoadEditDialog_Angle(sceneStatus, btnFunctionText);
+                            //鍛堢幇鐨勫脊绐�
+                            LoadEditDialog_Angle(sceneStatus, btnFunctionText);
 
                             break;
                         case "cct":
@@ -2304,11 +581,67 @@
                         case FunctionAttributeKey.Percent:
                             LoadEditDialog_Percent(sceneStatus, btnFunctionText);
                             break;
+                        case FunctionAttributeKey.SetVolume:
+                            BrightnessView(btnFunctionText.Text, btnFunctionName.Text, (volume, uintStr) =>
+                            {
+                                btnFunctionText.Text = volume;
+                                sceneStatus.value = volume;
+                            });
+                            break;
+                        case FunctionAttributeKey.Signal:
+                            var p = new UI2.Intelligence.Automation.PublicInterface();
+                            var dic = p.GetHisenseSignalSourceDic();
+                            ListView(dic.Keys.ToList(), btnFunctionText.Text, btnFunctionName.Text, (valueStr) =>
+                            {
+                                btnFunctionText.Text = valueStr;
+                                sceneStatus.value = p.GetValue(dic, valueStr);
+                            });
+                            break;
+                        case FunctionAttributeKey.Volume:
+                            BrightnessView(btnFunctionText.Text, btnFunctionName.Text, (volume, uintStr) =>
+                            {
+                                btnFunctionText.Text = volume;
+                                sceneStatus.value = volume;
+                            });
+                            break;
+                        case FunctionAttributeKey.SongName:
+                            MusicListView(btnFunctionText.Text, (playListName, song) =>
+                            {
+                                btnFunctionText.Text = song.name;
+                                sceneStatus.value = song.name;
+                                //杩藉姞灞炴��
+                                var oldList = new List<SceneFunctionStatus>();
+                                for (int i = 0; i < sceneFunction.status.Count; i++)
+                                {
+                                    var status = sceneFunction.status[i];
+                                    if (status.key == FunctionAttributeKey.PlaylistName)
+                                    {
+                                        //鎺у埗闇�瑕侊紙鐣岄潰涓嶉渶瑕佹樉绀猴級
+                                        sceneFunction.status.RemoveAt(i);
+                                        sceneFunction.status.Insert(i, new SceneFunctionStatus { key = FunctionAttributeKey.PlaylistName, value = playListName });
+                                    }
+                                    else if (status.key == FunctionAttributeKey.Url)
+                                    {
+                                        //瀛樺湪url灏变竴璧峰彂杩囧幓
+                                        if (!string.IsNullOrEmpty(song.url))
+                                        {
+                                            //鎺у埗闇�瑕侊紙鐣岄潰涓嶉渶瑕佹樉绀猴級
+                                            sceneFunction.status.RemoveAt(i);
+                                            sceneFunction.status.Insert(i, new SceneFunctionStatus { key = FunctionAttributeKey.Url, value = song.url });
+                                        }
+                                    }
+
+                                }
+
+                            });
+                            break;
+
                     }
                 };
 
                 #endregion
-            }catch(Exception ex)
+            }
+            catch (Exception ex)
             {
                 MainPage.Log($"鍦烘櫙鍔犺浇璁惧灞炴�у紓甯革細{ex.Message}");
             }
@@ -2372,43 +705,6 @@
             btnFunctionName.MouseUpEventHandler = (sender, e) =>
             {
                 LoadEditDialog_OnOff(sceneStatus, btnFunctionText);
-                //var colorfulModePage = new SetSceneRgbColorfulModePage();
-                //colorfulModePage.backAction = (selectedSerise,status) => {
-                //    if (selectedSerise == null)
-                //    {
-                //        if (status == "on")
-                //        {
-                //            isColorful = true;
-                //        }
-                //        else
-                //        {
-                //            isColorful = false;
-                //        }
-                //    }
-                //    else
-                //    {
-                //        isColorful = true;
-                //        rgbColorful = selectedSerise.ConvertSceneFunction();
-                //    }
-                //    if (isColorful)
-                //    {
-                //        btnFunctionText.TextID = StringId.On;
-                //        if (selectedSerise != null)
-                //        {
-                //            btnFunctionText.Text = selectedSerise.name;
-                //        }
-                //    }
-                //    else
-                //    {
-                //        btnFunctionText.TextID = StringId.OFF;
-                //    }
-                //    UpdataFunctionRow();
-                //};
-                //MainPage.BasePageView.AddChidren(colorfulModePage);
-                //colorfulModePage.LoadPage(sceneFunction.localFunction.sid.Substring(0,16));
-                //MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-
-
             };
 
             #endregion
@@ -2466,8 +762,10 @@
             delayRow.AddChidren(btnSceneDelayTitle);
 
 
-            btnSceneDelayTitle.MouseUpEventHandler = (sender, e) => {
-                Action<string> action = (obj) => {
+            btnSceneDelayTitle.MouseUpEventHandler = (sender, e) =>
+            {
+                Action<string> action = (obj) =>
+                {
                     sceneFunction.delay = obj;
                     btnDelayInfo.Text = new Scene() { delay = sceneFunction.delay }.GetDelayText();
                 };
@@ -2768,21 +1066,25 @@
 
             dialog.Show();
 
-            pView.MouseUpEventHandler = (sender, e) => {
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
-            btnOn.MouseUpEventHandler = (sender, e) => {
+            btnOn.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 trait.value = "true";
                 sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "true";
                 btn.Text = trait.GetValueText() + trait.GetUintString();
 
             };
-            btnOff.MouseUpEventHandler = (sender, e) => {
+            btnOff.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 trait.value = "false";
                 sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.Security).value = "false";
@@ -2805,7 +1107,7 @@
             trait.value = temp.ToString();
 
             List<string> pickerItems = new List<string>();
-            if(trait == null)
+            if (trait == null)
             {
                 return;
             }
@@ -2820,7 +1122,7 @@
 
             var optionBaseView = new FrameLayout()
             {
-                Y = Application.GetRealHeight(456-60),
+                Y = Application.GetRealHeight(456 - 60),
                 Gravity = Gravity.CenterHorizontal,
                 Width = Application.GetRealWidth(343),
                 Height = Application.GetRealHeight(260),
@@ -2840,7 +1142,7 @@
                 Radius = (uint)Application.GetRealWidth(12),
             };
             optionBaseView.AddChidren(topView);
-            topView.AddChidren(new Button() {Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
+            topView.AddChidren(new Button() { Y = Application.GetRealHeight(39), Height = Application.GetRealHeight(1), BackgroundColor = CSS_Color.DividingLineColor });
 
             var btnCancel = new Button()
             {
@@ -2882,25 +1184,30 @@
             if (pickerItems.Contains(trait.value + trait.GetUintString()))
             {
                 selectItem = trait.value.ToString() + trait.GetUintString();
+                uIPickerView.setCurrentItems(pickerItems.IndexOf(selectItem), 0, 0);
             }
 
             dialog.Show();
 
-            pView.MouseUpEventHandler = (sender, e) => {
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
-            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
+            {
                 selectItem = pickerItems[int1];
             };
-            btnConfrim.MouseUpEventHandler = (sender, e) => {
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 btn.Text = selectItem;
                 //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
-                trait.value = selectItem.Replace(trait.GetUintString(),"");
+                trait.value = selectItem.Replace(trait.GetUintString(), "");
             };
 
         }
@@ -2910,7 +1217,7 @@
         /// </summary>
         /// <param name="function"></param>
         /// <param name="btn"></param>
-        void LoadEditDialog_Angle (SceneFunctionStatus trait, Button btn)
+        void LoadEditDialog_Angle(SceneFunctionStatus trait, Button btn)
         {
             double temp = trait.min;
             double.TryParse(trait.value, out temp);
@@ -2989,7 +1296,7 @@
             }
             uIPickerView.setNPicker(pickerItems, null, null);
             optionBaseView.AddChidren(uIPickerView);
-            uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()+ "掳"), 0, 0);
+            uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString() + "掳"), 0, 0);
 
             string selectItem = pickerItems[pickerItems.IndexOf(trait.value.ToString() + "掳")];
             if (pickerItems.Contains(trait.value + trait.GetUintString()))
@@ -2999,17 +1306,21 @@
             //uIPickerView.setCurrentItems
             dialog.Show();
 
-            pView.MouseUpEventHandler = (sender, e) => {
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
-            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
+            {
                 selectItem = pickerItems[int1];
             };
-            btnConfrim.MouseUpEventHandler = (sender, e) => {
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 btn.Text = selectItem;
                 //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
@@ -3183,7 +1494,33 @@
         /// <param name="btn"></param>
         void LoadEditDialog_CCT(SceneFunctionStatus trait, Button btn)
         {
+            if (trait.min == 0)
+            {
+                switch (trait.key)
+                {
+                    case FunctionAttributeKey.SetTemp:
+                        trait.min = 16;
+                        break;
+                    case FunctionAttributeKey.CCT:
+                        trait.min = 2700;
+                        break;
+                }
+            }
+            if (trait.max == 0)
+            {
+                switch (trait.key)
+                {
+                    case FunctionAttributeKey.SetTemp:
+                        trait.max = 30;
+                        break;
+                    case FunctionAttributeKey.CCT:
+                        trait.max = 6500;
+                        break;
+                }
+            }
+
             double temp = trait.min;
+
             double.TryParse(trait.value, out temp);
             trait.value = temp.ToString();
 
@@ -3261,24 +1598,28 @@
             uIPickerView.setCurrentItems(pickerItems.IndexOf(trait.value.ToString()), 4, 5);
 
             string selectItem = pickerItems[0];
-              if (pickerItems.Contains(trait.value + trait.GetUintString()))
+            if (pickerItems.Contains(trait.value + trait.GetUintString()))
             {
                 selectItem = trait.value.ToString() + trait.GetUintString();
             }
 
             dialog.Show();
 
-            pView.MouseUpEventHandler = (sender, e) => {
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
-            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) => {
+            uIPickerView.OnSelectChangeEvent = (int1, int2, int3) =>
+            {
                 selectItem = pickerItems[int1];
             };
-            btnConfrim.MouseUpEventHandler = (sender, e) => {
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 btn.Text = selectItem;
                 //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.value.ToString() ;
@@ -3341,7 +1682,7 @@
 
             #endregion
 
-            int attrViewHight = Application.GetRealHeight(18 + 22+ 248);
+            int attrViewHight = Application.GetRealHeight(18 + 22 + 248);
             //灞炴�ц缃尯鍩�
             var attrView = new FrameLayout()
             {
@@ -3352,7 +1693,7 @@
             contentView.AddChidren(attrView);
             attrView.AddChidren(new Button() { Height = Application.GetRealHeight(18) });
 
-            
+
 
             #region RGB
             var rgbView = new FrameLayout()
@@ -3409,7 +1750,8 @@
             int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
 
 
-            colorPicker.ColorChaged += (sender2, e2) => {
+            colorPicker.ColorChaged += (sender2, e2) =>
+            {
                 rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
                 //trait.value = rgbString;
                 btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
@@ -3462,7 +1804,8 @@
                 TextID = StringId.Cancel,
             };
             bottomView.AddChidren(btnCancel);
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
@@ -3482,7 +1825,8 @@
             //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
             int mRectCornerID = HDLUtils.RectCornerBottomRight;
             btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
-            btnComplete.MouseUpEventHandler = (sender, e) => {
+            btnComplete.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 trait.value = rgbString;
                 btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
@@ -3512,7 +1856,8 @@
                 return;
             }
 
-            Dialog dialog = new Dialog() {
+            Dialog dialog = new Dialog()
+            {
                 Height = Application.GetRealHeight(647),
             };
 
@@ -3612,7 +1957,8 @@
             int circleR = colorPicker.Width / 2 - Application.GetRealWidth(12);
 
 
-            colorPicker.ColorChaged += (sender2, e2) => {
+            colorPicker.ColorChaged += (sender2, e2) =>
+            {
                 rgbString = (e2[0] + "," + e2[1] + "," + e2[2]).ToString();
                 //trait.value = rgbString;
                 btnCurColor.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
@@ -3646,7 +1992,7 @@
             #region 
             var btnCancel = new Button()
             {
-                X  = Application.GetRealWidth(20),
+                X = Application.GetRealWidth(20),
                 Width = Application.GetRealWidth(100),
                 Height = Application.GetRealHeight(44),
                 TextAlignment = TextAlignment.CenterLeft,
@@ -3655,7 +2001,8 @@
                 TextID = StringId.Cancel,
             };
             titleView.AddChidren(btnCancel);
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
@@ -3674,7 +2021,8 @@
             //渚嬶細鍙充笅鍦嗚 澶у皬涓�50
             int mRectCornerID = HDLUtils.RectCornerBottomRight;
             btnComplete.SetCornerWithSameRadius((uint)Application.GetRealWidth(14), mRectCornerID);
-            btnComplete.MouseUpEventHandler = (sender, e) => {
+            btnComplete.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 trait.value = rgbString;
                 btn.BackgroundColor = (uint)(0xFF000000 + tempLight.GetRGBcolor(rgbString));
@@ -3869,14 +2217,14 @@
         /// <summary>
         /// 鍔犺浇鍔熻兘灞炴�ф暟鎹�夋嫨寮圭獥
         /// </summary>
-        void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn,List<string> statusList)
+        void LoadEditDialog_FunctionPar(SceneFunctionStatus trait, Button btn, List<string> statusList)
         {
             Button lastButton = new Button();
-            var lastData = "";
-            var lastText = "";
+            var lastData = trait.value;
+            var lastText = btn.Text;
             Dialog dialog = new Dialog();
 
-            if(DB_ResidenceData.Instance.GatewayType == 0)
+            if (DB_ResidenceData.Instance.GatewayType == 0)
             {
                 if (SPK.AcSpkList().Contains(sceneFunction.localFunction.spk))
                 {
@@ -4045,7 +2393,8 @@
                 };
                 row.AddChidren(btnPropertyTitle);
 
-                btnPropertyTitle.MouseUpEventHandler = (sender, e) => {
+                btnPropertyTitle.MouseUpEventHandler = (sender, e) =>
+                {
                     btnChoose.IsSelected = true;
                     if (lastButton != null)
                     {
@@ -4062,14 +2411,17 @@
 
             dialog.Show();
 
-            pView.MouseUpEventHandler = (sender, e) => {
+            pView.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
 
-            btnCancel.MouseUpEventHandler = (sender, e) => {
+            btnCancel.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
             };
-            btnConfrim.MouseUpEventHandler = (sender, e) => {
+            btnConfrim.MouseUpEventHandler = (sender, e) =>
+            {
                 dialog.Close();
                 trait.value = lastData;
                 //sceneFunction.status.Find((obj) => obj.key == FunctionAttributeKey.OnOff).value = trait.curValue.ToString() ;
@@ -4078,8 +2430,88 @@
 
         }
 
-        #endregion
 
+        /// <summary>
+        /// 鐧惧垎姣�
+        /// </summary>
+        /// <param name="oldStateValue">鏃х姸鎬佸��</param>
+        /// <param name="titleName">鏍囬</param>
+        ///  <param name="action">鍥炶皟</param>
+        void BrightnessView(string oldStateValue, string titleName, Action<string, string> action)
+        {
+            #region 鐣岄潰
+            var brightness = new UI2.Intelligence.Automation.LogicView.BrightnessView();
+            brightness.FLayoutView(this, titleName, oldStateValue, action);
+            #endregion
+
+        }
+        /// <summary>
+        /// 鍒楄〃鐣岄潰
+        /// </summary>
+        /// <param name="list">鐣岄潰鏄剧ず鏁版嵁婧�</param>
+        /// <param name="oldStateValue">鏃х姸鎬佸��</param>
+        /// <param name="titleName">鏍囬</param>
+        ///  <param name="action">鍥炶皟</param>
+        void ListView(List<string> list, string oldStateValue, string titleName, Action<string> action)
+        {
+            var pif = new UI2.Intelligence.Automation.PublicInterface();
+            pif.SingleSelectionShow(this, list, titleName, oldStateValue, action);
+        }
+
+        /// <summary>
+        /// 闊充箰鍒楄〃鐣岄潰
+        /// </summary>
+        /// <param name="oldStateValue">鏃х姸鎬佸��</param>
+        ///  <param name="action">鍥炶皟</param>
+        void MusicListView(string oldStateValue, Action<string, Music.SongInfo> action)
+        {
+            Loading loading = new Loading();
+            this.AddChidren(loading);
+            loading.Start();
+            System.Threading.Tasks.Task.Run(() =>
+            {
+                try
+                {
+                    var palyList = Music.SendMethod.Current.GetSingleSongList(new Function { sid = sceneFunction.sid }, "hdl_special", "");
+                    List<string> songNameList = new List<string>();
+                    for (int i = 0; i < palyList.songs.Count; i++)
+                    {
+                        var song = palyList.songs[i];
+                        songNameList.Add(song.name);
+                    }
+                    Application.RunOnMainThread(() =>
+                    {
+                        loading.Hide();
+                        var publicInterface = new UI2.Intelligence.Automation.PublicInterface();
+                        publicInterface.FrameOrVv(this, songNameList, new List<string> { oldStateValue }, palyList.group, (index) =>
+                        {
+                            if (index > palyList.songs.Count)
+                            {
+                                index = 0;
+                            }
+                            var song = palyList.songs[index];
+                            action?.Invoke(palyList.group, song);
+
+                            //鐣岄潰鏄剧ず閫変腑鍊�
+                            //funTypeView.btnState.Text = songSelecetd.name;
+                            ////鏁版嵁灏佽
+                            //AddDictionary("playlist_name", palyList.group);//鍒楄〃鍚�
+                            //AddDictionary("song_name", songSelecetd.name);//姝屾洸鍚�
+                            //if (!string.IsNullOrEmpty(songSelecetd.url))
+                            //{
+                            //    //瀛樺湪url灏变竴璧峰彂閫佽繃鍘�
+                            //    AddDictionary("url", songSelecetd.url);
+                            //}
+
+                        }, false);
+
+                    });
+                }
+                catch { }
+
+            });
+        }
+        #endregion
     }
 }
 

--
Gitblit v1.8.0