using System; using HDL_ON.Entity; using Shared; namespace HDL_ON.UI { public partial class HomePage { /// /// 更新主页天气 /// public static void LoadEvent_RefreshAir() { bodyView.btnTempValues.Text = MainPage.cityInfo.temperature == null ? "--" : MainPage.cityInfo.temperature + "°"; bodyView.btnHumidityValues.Text = MainPage.cityInfo.humidity == null ? "--" : MainPage.cityInfo.humidity + "%"; bodyView.btnPm25Values.Text = MainPage.cityInfo.pm25 == null ? "--" : MainPage.cityInfo.pm25; } /// /// 加载功能收藏按钮事件 /// void LoadEvent_FunctionCollection(Button btn,Function function,bool isDevice) { btn.MouseUpEventHandler += (sender, e) => { function.collection = false; if(function.functionCategory == FunctionCategory.Music)//处理音乐主从关系 { if ((function as Music.A31MusicModel).ServerClientType == 1) { (function as Music.A31MusicModel).MainPlayCollection = false; Music.A31MusicModel.Save(); } } string msg = function.name + Language.StringByID(StringId.CollectionCancelled); if (isDevice) { LoadDeviceFunctionControlZone(); } else { LoadSceneFunctionControlZone(); } function.SaveFunctionData(); new PublicAssmebly().TipMsgAutoClose(msg, true); }; } /// /// 修改显示的功能类型 /// 设备功能/场景功能 /// void LoadEvent_ChangeShowedFunctionType() { btnChangeFunction.MouseUpEventHandler = (sender, e) => { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeIsFunction = true; contentView.PageIndex = 0; }; btnChangeScene.MouseUpEventHandler = (sender, e) => { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeIsFunction = false; contentView.PageIndex = 1; }; contentView.PageChange = (sender, e) => { if (contentView.PageIndex == 0) { btnChangeFunction.IsSelected = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeFunction.IsBold = true; btnChangeScene.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeScene.IsSelected = false; btnChangeScene.IsBold = false; CurShowTypeIsFunction = true; } else { btnChangeScene.IsSelected = true; btnChangeScene.TextSize = CSS.CSS_FontSize.HeadlineFontSize; btnChangeScene.IsBold = true; btnChangeFunction.TextSize = CSS.CSS_FontSize.TextFontSize; btnChangeFunction.IsSelected = false; btnChangeFunction.IsBold = false; CurShowTypeIsFunction = false; } }; } /// /// 更新显示状态 /// public static void UpdataFunctionStates(Function function) { Application.RunOnMainThread(() => { try { if (bodyView != null) { foreach (var view in bodyView.functionViews) { if (view.Tag.ToString() == function.sid) { var state = function.trait_on_off.value.ToString() == "on"; for (int i = 0; i < view.ChildrenCount; i++) { if (view.GetChildren(i).GetType() == typeof(Button)) { var btn = view.GetChildren(i) as Button; btn.IsSelected = state; if (btn.Tag != null && btn.Tag.ToString() == "state") { if(function.functionCategory == FunctionCategory.Music) { btn.Text = (function as Music.A31MusicModel).A31PlayStatus.Title; } else { btn.Text = function.lastState; } } } } } } } } catch (Exception ex) { MainPage.Log($"HomePage updata funciton states error {ex.Message}"); } }); } /// /// 加载场景控制事件 /// void LoadEvent_ControlScene(Button btnCoverd,Button btnName,Button btnZone ,Function function) { EventHandler eventHandler = (sender, e) => { string msg = function.name + Language.StringByID(StringId.AlreadyOpened); new PublicAssmebly().TipMsgAutoClose(msg, true); Control.Send(function); }; btnCoverd.MouseUpEventHandler = eventHandler; btnName.MouseUpEventHandler = eventHandler; btnZone.MouseUpEventHandler = eventHandler; } /// /// 加载灯光开关事件 /// /// /// void LoadEvent_SwitchFunction(Function function, Button btnSwitch) { btnSwitch.MouseUpEventHandler = (sender, e) => { btnSwitch.IsSelected = !btnSwitch.IsSelected; new System.Threading.Thread(() => { function.trait_on_off.value = btnSwitch.IsSelected ? "on" : "off"; //Control.Send(CommandType_A.write, function); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off", function.trait_on_off.value.ToString()); Control.SendWriteCommand(function, d); }) { IsBackground = true }.Start(); }; } /// /// 加载电视控制事件 /// /// /// void LoadEvent_ControlTV(TV tV,Button button) { button.MouseUpEventHandler = (sender, e) => { tV.ControlTV(InfraredCode_TV.Power); }; } /// /// 加载窗帘控制事件 /// void LoadEvent_ControlCurtain(Curtain curtain, Button btnClose, Button btnOpen) { btnClose.MouseDownEventHandler = (sender, e) => { btnClose.IsSelected = true; }; btnClose.MouseUpEventHandler = (sender, e) => { btnClose.IsSelected = false; curtain.trait_on_off.value = "off"; //Control.Send(CommandType_A.write, curtain); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off",curtain.trait_on_off.value.ToString()); Control.SendWriteCommand(curtain, d); }; btnOpen.MouseDownEventHandler = (sender, e) => { btnOpen.IsSelected = true; }; btnOpen.MouseUpEventHandler = (sender, e) => { btnOpen.IsSelected = false; curtain.trait_on_off.value = "on"; //Control.Send(CommandType_A.write, curtain); System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off", curtain.trait_on_off.value.ToString()); Control.SendWriteCommand(curtain, d); }; } } }