From 068c68295cad1967f7aafb4e5e951260ef03d4ce Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期五, 09 七月 2021 09:16:43 +0800 Subject: [PATCH] 状态属性更改,不要轻易合并 --- HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs | 63 ++++++++++++++++++------------- 1 files changed, 37 insertions(+), 26 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs index 692d673..0542613 100644 --- a/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs +++ b/HDL_ON/UI/UI2/2-Classification/FunctionControlZoneBLL.cs @@ -17,7 +17,7 @@ { if(bodyDiv!= null) { - Application.RunOnMainThread(() => { + Application.RunOnMainThread((Action)(() => { if(bodyDiv.Tag.ToString() == upfunc.sid) { for (var o = 0; o < bodyDiv.ChildrenCount; o++) @@ -29,7 +29,7 @@ { if (btn.Tag.ToString() == upfunc.sid + "_Switch")// + "_DimmerBar") { - btn.IsSelected = upfunc.trait_on_off.curValue.ToString() == "on"; + btn.IsSelected = upfunc.trait_on_off.state.ToString() == "on"; } } } @@ -40,14 +40,14 @@ { if (btn.Tag.ToString() == upfunc.sid + "_DimmerBar") { - //btn.Progress = (upfunc as Light).trait_brightness.value.value.ToString() == "on"; + btn.Progress = Convert.ToInt32(upfunc.GetAttrState(FunctionAttributeKey.Brightness)); } } } } } - }); + })); } } /// <summary> @@ -76,18 +76,30 @@ /// </summary> void LoadEvent_SwitchFunction(Button btnSwitch,FunctionAttributes fadeTime = null) { + btnSwitch.MouseUpEventHandler = (sender, e) => { btnSwitch.IsSelected = !btnSwitch.IsSelected; + + if(SPK.NotStatusSpkList.Contains( function.spk )) + { + new System.Threading.Thread(() => { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + }) { IsBackground = true }.Start(); + } + new System.Threading.Thread(() => { - function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.curValue.ToString()); + function.trait_on_off.state = btnSwitch.IsSelected ? "on" : "off"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add(FunctionAttributeKey.OnOff, function.trait_on_off.state.ToString()); if(fadeTime!= null) { int result = 0; - int.TryParse(fadeTime.curValue.ToString(), out result); + int.TryParse(fadeTime.state.ToString(), out result); d.Add(FunctionAttributeKey.FadeTime, result.ToString()); } Control.Ins.SendWriteCommand(function, d); @@ -109,11 +121,9 @@ { if (function.Spk_Prefix == FunctionCategory.Light) { - var light = function as Light; - light.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; - //Control.Send(CommandType_A.write, function); - System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); - d.Add("on_off", function.trait_on_off.curValue.ToString()); + function.trait_on_off.state = btnSwitch.IsSelected ? "on" : "off"; + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", function.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(function, d); } }) @@ -128,7 +138,6 @@ { if(function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) { - var light = function as Light; dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { onDimmerBar = true; (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = false; @@ -136,10 +145,10 @@ dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { onDimmerBar = false; (bodyDiv.Parent as VerticalScrolViewLayout).ScrollEnabled = true; - light.brightness = dimmerControlBar.Progress; + function.SetAttrState(FunctionAttributeKey.Brightness, dimmerControlBar.Progress.ToString()); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("brightness", light.brightness.ToString()); - Control.Ins.SendWriteCommand(light, d); + d.Add(FunctionAttributeKey.Brightness, dimmerControlBar.Progress.ToString()); + Control.Ins.SendWriteCommand(function, d); }; dimmerControlBar.OnProgressChangedEvent = (sender, e) => { dimmerControlBar.ProgressBarColor = CSS.CSS_Color.AuxiliaryColor1; @@ -183,17 +192,17 @@ /// <param name="btnStop"></param> /// <param name="btnOpen"></param> /// <param name="btnClose"></param> - void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Curtain curtain) + void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Function curtain) { btnClose.MouseUpEventHandler = (sender, e) => { btnClose.IsSelected = true; btnStop.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "off"; - curtain.percent = 0; + curtain.trait_on_off.state = "off"; + curtain.SetAttrState(FunctionAttributeKey.Percent, 0); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; @@ -202,9 +211,9 @@ btnStop.IsSelected = true; btnClose.IsSelected = false; btnOpen.IsSelected = false; - curtain.trait_on_off.curValue = "stop"; + curtain.trait_on_off.state = "stop"; Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; @@ -213,10 +222,10 @@ btnOpen.IsSelected = true; btnClose.IsSelected = false; btnStop.IsSelected = false; - curtain.trait_on_off.curValue = "on"; - curtain.percent = 100; + curtain.trait_on_off.state = "on"; + curtain.SetAttrState(FunctionAttributeKey.Percent, 100); Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", curtain.trait_on_off.curValue.ToString()); + d.Add(FunctionAttributeKey.OnOff, curtain.trait_on_off.state.ToString()); Control.Ins.SendWriteCommand(curtain, d); }; } @@ -284,6 +293,8 @@ /// <param name="curtain"></param> void LoadEvent_ControlMusic(Button btnPlay,Button btnNext,Button btnPrev, A31MusicModel a31player) { + if (a31player == null) + return; ///涓婁竴鏇茬偣鍑讳簨浠� btnPrev.MouseDownEventHandler = (sender, e) => { -- Gitblit v1.8.0