From 098c053cb132a432f4e3c342d26a3d71621c10dd Mon Sep 17 00:00:00 2001 From: wei <kaede@kaededeMacBook-Air.local> Date: 星期一, 05 七月 2021 11:15:02 +0800 Subject: [PATCH] 性能优化:无状态功能开关点击反馈 --- HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs | 37 +++++++++++++++++++++++++++++-------- 1 files changed, 29 insertions(+), 8 deletions(-) diff --git a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs index b84b2a7..f0fdbc0 100644 --- a/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs +++ b/HDL_ON/UI/UI2/1-HomePage/HomePageBLL.cs @@ -359,6 +359,13 @@ btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { + if(SPK.NotStatusSpkList.Contains(function.spk)) + { + System.Threading.Thread.Sleep(1000); + Application.RunOnMainThread(() => { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + } function.trait_on_off.curValue = btnSwitch.IsSelected ? "on" : "off"; Dictionary<string, string> d = new Dictionary<string, string>(); if (function.spk == SPK.LightDimming || function.spk == SPK.LightRGB) @@ -388,21 +395,35 @@ /// <summary> /// 鍔犺浇鐢佃鎺у埗浜嬩欢 /// </summary> - /// <param name="tV"></param> - /// <param name="button"></param> - void LoadEvent_ControlTV(Function tV, Button button) + /// <param name="function"></param> + /// <param name="btnSwitch"></param> + void LoadEvent_ControlTV(Function function, Button btnSwitch) { - button.MouseUpEventHandler = (sender, e) => + btnSwitch.MouseUpEventHandler = (sender, e) => { if (DB_ResidenceData.Instance.GatewayType == 1) { - Dictionary<string, string> d = new Dictionary<string, string>(); - d.Add("on_off", ""); - Control.Ins.SendWriteCommand(tV, d); + btnSwitch.IsSelected = !btnSwitch.IsSelected; + new System.Threading.Thread(() => + { + if (SPK.NotStatusSpkList.Contains(function.spk)) + { + System.Threading.Thread.Sleep(2000); + Application.RunOnMainThread(() => + { + btnSwitch.IsSelected = !btnSwitch.IsSelected; + }); + } + + Dictionary<string, string> d = new Dictionary<string, string>(); + d.Add("on_off", ""); + Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); } else { - new TV().ControlTV(InfraredCode_TV.Power, tV); + new TV().ControlTV(InfraredCode_TV.Power, function); } }; } -- Gitblit v1.8.0