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/2-Classification/RoomPage.cs | 68 ++++++++++++++++++++++++--------- 1 files changed, 49 insertions(+), 19 deletions(-) diff --git a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs index 3c04eec..7bbf394 100644 --- a/HDL_ON/UI/UI2/2-Classification/RoomPage.cs +++ b/HDL_ON/UI/UI2/2-Classification/RoomPage.cs @@ -1,4 +1,6 @@ -锘縰sing System; +锘� +using System; +using System.Collections.Generic; using HDL_ON.Entity; using HDL_ON.UI.CSS; using Shared; @@ -34,6 +36,12 @@ #endregion + public override void RemoveFromParent() + { + base.RemoveFromParent(); + bodyView = null; + } + /// <summary> /// /// </summary> @@ -61,8 +69,15 @@ { if (bodyView != null) { - bodyView.RemoveAll(); - LoadPage(); + try + { + bodyView.RemoveAll(); + LoadPage(); + } + catch (Exception ex) + { + MainPage.Log($"RoomPage ReloadPage error :\r\n {ex.Message}"); + } } } @@ -82,16 +97,20 @@ var list = room.GetRoomFunctions(false); + foreach (var function in list) { if (MainPage.RoomNotSupportFunctionList.Contains(function.spk)) { continue; } +#if DEBUG + //throw new ArgumentNullException(); +#endif functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); - if (function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) + if (function.spk == SPK.LightRGBW || function.spk == SPK.LightCCT || function.spk == SPK.LightRGB || function.spk == SPK.LightDimming) { var functionDiv = new FunctionControlZone(function, null) { @@ -109,9 +128,10 @@ } else { + var functionDiv = new FunctionControlZone(function, () => { - this.ReLoadPage(); + this.ReLoadPage(); //鍒犻櫎璁惧鍚庨噸鏂板埛鏂癠I }) { Gravity = Gravity.CenterHorizontal, @@ -127,22 +147,32 @@ functionListView.AddChidren(functionDiv); } } - foreach (var scene in room.GetRoomScenes(false)) + try { - functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); - var sceneRow = new FrameLayout() + foreach (var scene in room.GetRoomScenes(false)) { - Gravity = Gravity.CenterHorizontal, - Width = Application.GetRealWidth(343), - Height = Application.GetRealHeight(116), - Radius = (uint)Application.GetMinRealAverage(12), - BorderColor = 0x00FFFFFF, - BorderWidth = 1, - BackgroundColor = CSS_Color.MainBackgroundColor, - Tag = "Scene-" + scene.sid - }; - functionListView.AddChidren(sceneRow); - LoadSceneRow(sceneRow, scene); + if (scene == null) + { + continue; + } + functionListView.AddChidren(new Button() { Height = Application.GetRealHeight(12) }); + var sceneRow = new FrameLayout() + { + Gravity = Gravity.CenterHorizontal, + Width = Application.GetRealWidth(343), + Height = Application.GetRealHeight(116), + Radius = (uint)Application.GetMinRealAverage(12), + BorderColor = 0x00FFFFFF, + BorderWidth = 1, + BackgroundColor = CSS_Color.MainBackgroundColor, + Tag = "Scene-" + scene.sid + }; + functionListView.AddChidren(sceneRow); + LoadSceneRow(sceneRow, scene); + } + }catch (Exception ex) + { + MainPage.Log($"RoomPage LoadPage Error:{ex.Message}"); } } -- Gitblit v1.8.0