From 1b85f8a35867a3a851039aeb99480ffb5e3d50d6 Mon Sep 17 00:00:00 2001 From: wxr <464027401@qq.com> Date: 星期四, 27 七月 2023 09:34:40 +0800 Subject: [PATCH] 三相空开1.0 --- HDL_ON/Entity/Function/Function.cs | 81 ++++++++ HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs | 6 HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3Page.cs | 468 ++++++++++++++++++++++++++++++++++++++++++++++ HDL_ON/UI/MainPage.cs | 1 HDL_ON/HDL_ON.projitems | 1 HDL_ON/UI/UI1-Login/LoginPage.cs | 34 +++ 6 files changed, 590 insertions(+), 1 deletions(-) diff --git a/HDL_ON/Entity/Function/Function.cs b/HDL_ON/Entity/Function/Function.cs index 8e8602b..4f6404c 100644 --- a/HDL_ON/Entity/Function/Function.cs +++ b/HDL_ON/Entity/Function/Function.cs @@ -171,6 +171,9 @@ string iconPath = spk.Replace(".", ""); switch (spk) { + case SPK.AirSwitchP3: + iconPath = "electricalbreaker"; + break; case SPK.PanelSocket: iconPath = "electricalsocket"; break; @@ -1155,6 +1158,79 @@ /// </summary> public static class FunctionAttributeKey { + #region 涓夌浉绌哄紑灞炴�� + /// <summary> + /// A鐩稿姛鐜� + /// </summary> + public const string PowerA = "power_a"; + /// <summary> + /// B鐩稿姛鐜� + /// </summary> + public const string PowerB = "power_b"; + /// <summary> + /// C鐩稿姛鐜� + /// </summary> + public const string PowerC = "power_c"; + /// <summary> + /// A鐩哥數鍘� + /// </summary> + public const string VoltageA = "voltage_a"; + /// <summary> + /// B鐩哥數鍘� + /// </summary> + public const string VoltageB = "voltage_b"; + /// <summary> + /// C鐩哥數鍘� + /// </summary> + public const string VoltageC = "voltage_c"; + /// <summary> + /// A鐩哥數娴� + /// </summary> + public const string CurrentA = "current_a"; + /// <summary> + /// B鐩哥數娴� + /// </summary> + public const string CurrentB = "current_b"; + /// <summary> + /// C鐩哥數娴� + /// </summary> + public const string CurrentC = "current_c"; + /// <summary> + /// A鐩告俯搴� + /// </summary> + public const string TempA = "temp_a"; + /// <summary> + /// B鐩告俯搴� + /// </summary> + public const string TempB = "temp_b"; + /// <summary> + /// C鐩告俯搴� + /// </summary> + public const string TempC = "temp_c"; + /// <summary> + /// 杩囨祦鍊� + /// </summary> + public const string MaxCurrent = "max_current"; + /// <summary> + /// 杩囨俯鍊� + /// </summary> + public const string MaxTemp = "max_temp"; + /// <summary> + /// A鐩哥數閲� + /// </summary> + public const string ElectricityA = "electricity_a"; + /// <summary> + /// B鐩哥數閲� + /// </summary> + public const string ElectricityB = "electricity_b"; + /// <summary> + /// C鐩哥數閲� + /// </summary> + public const string ElectricityC = "electricity_c"; + + #endregion + + public const string _null = ""; /// <summary> /// 瀹夐槻甯冮槻鐘舵�� @@ -2058,6 +2134,10 @@ /// 鏅鸿兘绌哄紑 /// </summary> public const string AirSwitch = "electrical.breaker"; + /// <summary> + /// 涓夌浉鏅鸿兘绌哄紑 + /// </summary> + public const string AirSwitchP3 = "electrical.breakerP3"; #region 娑傞甫 /// <summary> @@ -2111,6 +2191,7 @@ spkList.Add(ElectricTuyaWaterValve); spkList.Add(ElectricTuyaWaterValve2); spkList.Add(AirSwitch); + spkList.Add(AirSwitchP3); return spkList; } diff --git a/HDL_ON/HDL_ON.projitems b/HDL_ON/HDL_ON.projitems index f946b7e..52e9524 100644 --- a/HDL_ON/HDL_ON.projitems +++ b/HDL_ON/HDL_ON.projitems @@ -562,6 +562,7 @@ <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorlockAudioSetupPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\VideoDoorLock\VideoDoorlockBatteryManagementPage.cs" /> <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\2-Classification\SeriesFunctionListPage.cs" /> + <Compile Include="$(MSBuildThisFileDirectory)UI\UI2\FuntionControlView\Electrical\AirSwitchP3Page.cs" /> </ItemGroup> <ItemGroup> <Folder Include="$(MSBuildThisFileDirectory)Entity\Device\" /> diff --git a/HDL_ON/UI/MainPage.cs b/HDL_ON/UI/MainPage.cs index 6f43aa2..44a2e3a 100644 --- a/HDL_ON/UI/MainPage.cs +++ b/HDL_ON/UI/MainPage.cs @@ -141,6 +141,7 @@ //_RoomNotSupportFunctionList.Add(SPK.MusicStandard); //_RoomNotSupportFunctionList.Add(SPK.AvMusic); _RoomNotSupportFunctionList.Add(SPK.AirSwitch); + _RoomNotSupportFunctionList.Add(SPK.AirSwitchP3); _RoomNotSupportFunctionList.Add(SPK.ElectricEnergy); //_RoomNotSupportFunctionList.Add(SPK.OtherCommon); _RoomNotSupportFunctionList.Add(SPK.SensorLight); diff --git a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs index 96dd1af..2f1ba90 100644 --- a/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs +++ b/HDL_ON/UI/UI0-Public/PublicAssmeblyBLL.cs @@ -36,6 +36,12 @@ airSwitchPage.LoadPage(btnCollectionIcon, btnName, btnFromFloor); MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; break; + case SPK.AirSwitchP3: + var airSwitchP3Page = new AirSwitchP3Page(function); + MainPage.BasePageView.AddChidren(airSwitchP3Page); + airSwitchP3Page.LoadPage(btnCollectionIcon, btnName, btnFromFloor); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + break; case SPK.LightSwitch: var relayView = new RelayPage(function); MainPage.BasePageView.AddChidren(relayView); diff --git a/HDL_ON/UI/UI1-Login/LoginPage.cs b/HDL_ON/UI/UI1-Login/LoginPage.cs index c5cfa1d..3fb66f0 100644 --- a/HDL_ON/UI/UI1-Login/LoginPage.cs +++ b/HDL_ON/UI/UI1-Login/LoginPage.cs @@ -923,7 +923,39 @@ #if DEBUG - + var airSwitchP3 = new Function() + { + sid = "airSwitchP3000000000001", + deviceId = "airSwitchP3000000000001", + name = "娴嬭瘯-涓夌浉鏅鸿兘绌哄紑", + spk = SPK.AirSwitchP3, + roomIds = new List<string>() { "1405771024583090178" }, + attributes = new List<FunctionAttributes>() + { + new FunctionAttributes() { key = "on_off",value =new List<string>(){ "on","off" }, curValue="on",state = "on" }, + new FunctionAttributes() { key = "delay",value =new List<string>(){ "0","100" }, curValue="0",state = "0" }, + new FunctionAttributes() { key = FunctionAttributeKey.PowerA,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.PowerB,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.PowerC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.VoltageA,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.VoltageB,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.VoltageC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.CurrentA,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.CurrentB,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.CurrentC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.TempA,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.TempB,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.TempC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.MaxCurrent,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.MaxTemp,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.ElectricityA,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.ElectricityB,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.ElectricityC,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + new FunctionAttributes() { key = FunctionAttributeKey.TotalElectricity,value =new List<string>(){ "" }, curValue="26",state = "26" ,max = 1000,min = 0 }, + }, + collect=true, + }; + airSwitchP3.SaveFunctionFile(); if (FunctionList.List.groupControls.Count == 0) { diff --git a/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3Page.cs b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3Page.cs new file mode 100644 index 0000000..b0887f6 --- /dev/null +++ b/HDL_ON/UI/UI2/FuntionControlView/Electrical/AirSwitchP3Page.cs @@ -0,0 +1,468 @@ +锘縰sing System; +using HDL_ON.Entity; +using HDL_ON.UI.CSS; +using Shared; + +namespace HDL_ON.UI +{ + public class AirSwitchP3Page : FrameLayout + { + + #region 鎺т欢闆嗗悎 + static AirSwitchP3Page bodyView; + /// <summary> + /// 鎺у埗鐣岄潰鍔犺浇鍖哄煙 + /// </summary> + FrameLayout controlView; + /// <summary> + /// 鍔熻兘澶囨敞 + /// </summary> + Button btnFunctionName; + /// <summary> + /// 鍔熻兘鎵�灞炴ゼ灞傘�佹埧闂� + /// </summary> + Button btnFromFoorAndRoom; + /// <summary> + /// 鏀惰棌鎸夐挳 + /// </summary> + Button btnCollection; + /// <summary> + /// 缁х數鍣ㄧ姸鎬佸浘鏍� + /// </summary> + Button btnSwitchIcon; + /// <summary> + /// 寮�鍏虫寜閽� + /// </summary> + Button btnSwitch; + + + /// <summary> + /// 杩愯鐘舵��-鍔ㄦ�佸姞杞� + /// </summary> + Button btnRunStatus; + + #endregion + + #region 鍖哄煙鍙橀噺 + Function function; + Button btnCollection_Out; + Button btnFunctionName_Out; + Button btnFromFloor_Out; + /// <summary> + /// 鍒锋柊鏄剧ず淇℃伅 + /// </summary> + Action actionRefresh; + #endregion + + public AirSwitchP3Page(Function func) + { + bodyView = this; + function = func; + + } + /// <summary> + /// 鍔犺浇鐣岄潰 + /// </summary> + /// <param name="btnCollectionIcon">鏀惰棌鎸夐挳</param> + /// <param name="btnFunctionName">鍔熻兘鍚嶇О淇℃伅鎸夐挳</param> + /// <param name="btnFromFloor">鍔熻兘妤煎眰淇℃伅鎸夐挳</param> + public void LoadPage(Button btnCollectionIcon, Button btnFunctionNameOut, Button btnFromFloorOut) + { + if (btnCollectionIcon == null) + { + btnCollection_Out = new Button(); + btnFunctionName_Out = new Button(); + btnFromFloor_Out = new Button(); + } + else + { + btnCollection_Out = btnCollectionIcon; + btnFunctionName_Out = btnFunctionNameOut; + btnFromFloor_Out = btnFromFloorOut; + } + bodyView.BackgroundColor = CSS_Color.BackgroundColor; + + controlView = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(88), + Width = Application.GetRealWidth(327), + Height = Application.GetRealHeight(526), + BackgroundImagePath = "Public/Fragmentbg.png", + }; + bodyView.AddChidren(controlView); + + btnFunctionName = new Button() + { + X = Application.GetRealWidth(16), + Y = Application.GetRealHeight(14), + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(37), + TextColor = CSS_Color.FirstLevelTitleColor, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.EmphasisFontSize_FirstLevel, + Text = function.name, + }; + controlView.AddChidren(btnFunctionName); + + btnFromFoorAndRoom = new Button() + { + X = Application.GetRealWidth(16), + Y = btnFunctionName.Bottom, + Width = Application.GetRealWidth(270), + Height = Application.GetRealHeight(21), + TextColor = CSS_Color.PromptingColor1, + TextAlignment = TextAlignment.CenterLeft, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + Text = function.GetRoomListName() + }; + controlView.AddChidren(btnFromFoorAndRoom); + + btnCollection = new Button() + { + X = Application.GetRealWidth(273), + Y = Application.GetRealHeight(14), + Width = Application.GetMinRealAverage(40), + Height = Application.GetMinRealAverage(40), + SelectedImagePath = "Collection/CollectionIcon.png", + UnSelectedImagePath = "Collection/CollectionGrayIcon.png", + IsSelected = function.collect + }; + controlView.AddChidren(btnCollection); + + btnSwitchIcon = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(102), + Width = Application.GetRealWidth(148), + Height = Application.GetRealWidth(198), + UnSelectedImagePath = "FunctionIcon/Electrical/AirSwitch/AirSwitchBgIcon.png", + SelectedImagePath = "FunctionIcon/Electrical/AirSwitch/AirSwitchBgOnIcon.png", + IsSelected = function.trait_on_off.curValue.ToString() == "on" + }; + controlView.AddChidren(btnSwitchIcon); + + //杩愯鐘舵�� + if (function.GetAttribute("run_status") != null) + { + + btnRunStatus = new Button() + { + Y = Application.GetRealHeight(300), + Height = Application.GetRealHeight(58), + TextAlignment = TextAlignment.Center, + TextSize = CSS_FontSize.TextFontSize, + }; + controlView.AddChidren(btnRunStatus); //鐘舵�佹棤娉曟祴璇曪紝鏆傛椂闅愯棌--2021-10-14 13:58:48 钁f辰鏂� + UpdataRunStatus(); + } + + //if (function.GetAttribute("power") != null) + { + Button btnEnergyIcon = new Button() + { + Y = Application.GetRealHeight(377), + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(32), + Height = Application.GetRealWidth(32), + UnSelectedImagePath = "FunctionIcon/Electrical/AirSwitch/EnergyIcon.png" + }; + controlView.AddChidren(btnEnergyIcon); + + + Button btnEnergyText = new Button() + { + Y = Application.GetRealHeight(400), + Gravity = Gravity.CenterHorizontal, + Height = Application.GetRealWidth(47), + TextAlignment = TextAlignment.Center, + TextID = StringId.EnergyMonitoring, + TextColor = CSS_Color.TextualColor, + TextSize = CSS_FontSize.PromptFontSize_FirstLevel, + }; + controlView.AddChidren(btnEnergyText); + + EventHandler<MouseEventArgs> eventHandler = (sender, e) => { + var skipView = new EnergyMainPage(); + MainPage.BasePageView.AddChidren(skipView); + skipView.LoadPage(); + MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; + }; + btnEnergyIcon.MouseUpEventHandler = eventHandler; + btnEnergyText.MouseUpEventHandler = eventHandler; + + + + } + + + + + btnSwitch = new Button() + { + Gravity = Gravity.CenterHorizontal, + Y = Application.GetRealHeight(466),// + btnSwitchIcon.Bottom, + Width = Application.GetMinRealAverage(32), + Height = Application.GetMinRealAverage(32), + UnSelectedImagePath = "Public/PowerClose.png", + SelectedImagePath = "Public/PowerOpen.png", + IsSelected = function.trait_on_off.curValue.ToString() == "on" + }; + controlView.AddChidren(btnSwitch); + + new TopViewDiv(bodyView, Language.StringByID(StringId.Electric)).LoadTopView_FunctionTop(function, actionRefresh, false); + new System.Threading.Thread(() => + { + DriverLayer.Control.Ins.SendReadCommand(function); + }) + { IsBackground = true }.Start(); + + + LoadEventList(); + } + + + + + /// <summary> + /// 鏇存柊鐘舵�� + /// </summary> + public static void UpdataState(Function updataTemp) + { + Application.RunOnMainThread(() => + { + try + { + if (bodyView == null) + return; + if (updataTemp.spk == bodyView.function.spk && updataTemp.sid == bodyView.function.sid) + { + bodyView.btnSwitch.IsSelected = bodyView.btnSwitchIcon.IsSelected = updataTemp.trait_on_off.curValue.ToString() == "on"; + + if (updataTemp.GetAttribute("run_status") != null) + { + bodyView.UpdataRunStatus(); + } + } + } + catch (Exception ex) + { + MainPage.Log($"AirSwitch error {ex.Message}"); + } + }); + } + /// <summary> + /// 鏇存柊杩愯鐘舵�� + /// </summary> + void UpdataRunStatus() + { + if (btnRunStatus == null) + return; + var runStatus = function.GetAttrState("run_status"); + if (Language.CurrentLanguage == "Chinese") + { + switch (runStatus) + { + //* RUN:姝e父宸ヤ綔涓� + case "RUN": + btnRunStatus.Text = "宸ヤ綔涓�"; + btnRunStatus.TextColor = CSS_Color.MainColor; + break; + //* HV:杩囧帇棰勮 + case "HV": + btnRunStatus.Text = "杩囧帇棰勮"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* LV:娆犲帇棰勮 + case "LV": + btnRunStatus.Text = "娆犲帇棰勮"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* HC:杩囨祦棰勮 + case "HC": + btnRunStatus.Text = "杩囨祦棰勮"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* HT:杩囨俯棰勮 + case "HT": + btnRunStatus.Text = "杩囨俯棰勮"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* LEAK:婕忕數棰勮 + case "LEAK": + btnRunStatus.Text = "婕忕數棰勮"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* ERR_HV:杩囧帇鎶ヨ + case "ERR_HV": + btnRunStatus.Text = "杩囧帇鎶ヨ"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_LV:娆犲帇鎶ヨ + case "ERR_LV": + btnRunStatus.Text = "娆犲帇鎶ヨ"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_HC:杩囨祦鎶ヨ + case "ERR_HC": + btnRunStatus.Text = "杩囨祦鎶ヨ"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_HT:杩囨俯鎶ヨ + case "ERR_HT": + btnRunStatus.Text = "杩囨俯鎶ヨ"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_LEAK:婕忕數鎶ヨ + case "ERR_LEAK": + btnRunStatus.Text = "婕忕數鎶ヨ"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + } + } + else + { + switch (runStatus) + { + //* RUN:姝e父宸ヤ綔涓� + case "RUN": + btnRunStatus.Text = "At work"; + btnRunStatus.TextColor = CSS_Color.MainColor; + break; + //* HV:杩囧帇棰勮 + case "HV": + btnRunStatus.Text = "Overvoltage warning"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* LV:娆犲帇棰勮 + case "LV": + btnRunStatus.Text = "Undervoltage warning"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* HC:杩囨祦棰勮 + case "HC": + btnRunStatus.Text = "Overcurrent warning"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* HT:杩囨俯棰勮 + case "HT": + btnRunStatus.Text = "Overtemperature warning"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* LEAK:婕忕數棰勮 + case "LEAK": + btnRunStatus.Text = "Leakage warning"; + btnRunStatus.TextColor = 0xFFFC9C04; + break; + //* ERR_HV:杩囧帇鎶ヨ + case "ERR_HV": + btnRunStatus.Text = "Overvoltage alarm"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_LV:娆犲帇鎶ヨ + case "ERR_LV": + btnRunStatus.Text = "Undervoltage alarm"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_HC:杩囨祦鎶ヨ + case "ERR_HC": + btnRunStatus.Text = "Overcurrent alarm"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_HT:杩囨俯鎶ヨ + case "ERR_HT": + btnRunStatus.Text = "Overtemperature alarm"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + //* ERR_LEAK:婕忕數鎶ヨ + case "ERR_LEAK": + btnRunStatus.Text = "Leakage alarm"; + btnRunStatus.TextColor = 0xFFFF8080; + break; + } + } + } + + /// <summary> + /// 鍔犺浇浜嬩欢鍒楄〃 + /// </summary> + void LoadEventList() + { + LoadSwitchEvent(); + LoadCollectionEvent(); + + //鍥為��鍒锋柊淇℃伅浜嬩欢 + actionRefresh = () => { + btnFunctionName.Text = btnFunctionName_Out.Text = function.name; + btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = function.GetRoomListName(); + //function.SaveFunctionData(true); + }; + } + + /// <summary> + /// 鏀惰棌鍔熻兘鎸夐挳浜嬩欢 + /// </summary> + void LoadCollectionEvent() + { + btnCollection.MouseUpEventHandler += (sender, e) => { + btnCollection.IsSelected = function.collect = btnCollection_Out.IsSelected = !btnCollection.IsSelected; + function.CollectFunction(); + }; + } + + /// <summary> + /// 鍔犺浇寮�鍏充簨浠� + /// </summary> + void LoadSwitchEvent() + { + btnSwitchIcon.MouseUpEventHandler = (sender, e) => + { + if (!function.online) + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + Direction = AMPopTipDirection.None, + }.Show(MainPage.BaseView); + return; + } + btnSwitch.IsSelected = btnSwitchIcon.IsSelected = !btnSwitchIcon.IsSelected; + new System.Threading.Thread(() => + { + function.trait_on_off.curValue = btnSwitchIcon.IsSelected ? "on" : "off"; + System.Collections.Generic.Dictionary<string, string> d = new System.Collections.Generic.Dictionary<string, string>(); + d.Add("on_off", function.trait_on_off.curValue.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + }; + btnSwitch.MouseUpEventHandler = (sender, e) => + { + if (!function.online) + { + new Tip() + { + CloseTime = 1, + Text = Language.StringByID(StringId.DeviceOfflineCannotOption), + Direction = AMPopTipDirection.None, + }.Show(MainPage.BaseView); + return; + } + btnSwitchIcon.IsSelected = btnSwitch.IsSelected = !btnSwitch.IsSelected; + 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("on_off", function.trait_on_off.curValue.ToString()); + DriverLayer.Control.Ins.SendWriteCommand(function, d); + }) + { IsBackground = true }.Start(); + + }; + + } + + + } +} \ No newline at end of file -- Gitblit v1.8.0