From 6d73bf6e816570291865674bef8bce8972e4de3f Mon Sep 17 00:00:00 2001
From: xm <1271024303@qq.com>
Date: 星期三, 01 十二月 2021 16:32:57 +0800
Subject: [PATCH] 2021-12-01-01

---
 HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs |  859 ++++++++++++++++++++++++++++++++++++++-------------------
 1 files changed, 574 insertions(+), 285 deletions(-)

diff --git a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
index b8f664b..3914880 100644
--- a/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
+++ b/HDL_ON/UI/UI2/2-Classification/ClassificationPage.cs
@@ -71,11 +71,12 @@
         {
             bodyView = this;
             roomsShowed = new List<Room>();
-            roomsShowed.AddRange(DB_ResidenceData.rooms);
+            roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
         }
 
         public void LoadPage()
         {
+            MainPage.CurPageIndex = 1;
             bodyView.BackgroundColor = CSS_Color.BackgroundColor;
             #region top
             FrameLayout topView = new FrameLayout()
@@ -117,7 +118,7 @@
             contentPageView = new PageLayout()
             {
                 Y = Application.GetRealHeight(64),
-                Height = Application.GetRealHeight(667 - 64-49+30),
+                Height = Application.GetRealHeight(667 - 64 - 49 + 30),
                 BackgroundColor = CSS_Color.MainBackgroundColor,
                 IsShowPoint = false
             };
@@ -144,7 +145,7 @@
                 Height = Application.GetRealHeight(52),
             };
             roomPageView.AddChidren(roomFloorChangeView);
-            #region 鎴块棿搴曢儴鍒囨崲鏄剧ず鍖哄煙
+            #region 鎴块棿椤堕儴鍒囨崲鏄剧ず鍖哄煙
             /// <summary>
             /// 鎴块棿鍖哄煙锛岄《閮ㄥ尯鍩�
             /// </summary>
@@ -177,7 +178,7 @@
                 TextColor = CSS_Color.FirstLevelTitleColor,
                 TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
                 TextAlignment = TextAlignment.CenterLeft,
-                Text = DB_ResidenceData.residenceData.CurFoor,
+                Text = DB_ResidenceData.Instance.CurFloor.roomName,
             };
             roomFloorChangeView.AddChidren(btnFloor);
             /// <summary>
@@ -191,8 +192,14 @@
                 Height = Application.GetMinRealAverage(28),
                 UnSelectedImagePath = "Classification/ToggleDisplayThumbnail.png",//缂╃暐鍥�
                 SelectedImagePath = "Classification/ToggleDisplayLarge.png",
+                IsSelected = OnAppConfig.Instance.IsShowBigPicture
             };
             roomFloorChangeView.AddChidren(btnSwitchDipaly);
+            btnSwitchDipaly.MouseUpEventHandler = (sender, e) => {
+               OnAppConfig.Instance.IsShowBigPicture = !OnAppConfig.Instance.IsShowBigPicture;
+                btnSwitchDipaly.IsSelected = OnAppConfig.Instance.IsShowBigPicture;
+                LoadRoomRows(true);
+            };
             #endregion
 
             /// <summary>
@@ -215,159 +222,385 @@
         /// <summary>
         /// 鍔犺浇鎴块棿鍒楄〃鍖哄煙
         /// </summary>
-        void LoadRoomRows ()
+        /// <param name="animationEffect">鍔ㄧ敾鏁堟灉</param>
+        void LoadRoomRows(bool animationEffect = false)
         {
-            roomListView.RemoveAll();
-            foreach (var room in roomsShowed)
+            if (animationEffect)
             {
-                var roomView = new FrameLayout()
+                ///绉诲姩鏂瑰悜
+                var runDirection = OnAppConfig.Instance.IsShowBigPicture ? 1 : -1;
+                for (int i = 0; i < roomListView.ChildrenCount; i++)
                 {
-                    Gravity = Gravity.CenterHorizontal,
-                    Width = Application.GetRealWidth(343),
-                    Height = Application.GetRealHeight(184),
-                    Radius = (uint)Application.GetRealWidth(12),
-                    Tag = room.sid,
-                };
-                roomListView.AddChidren(roomView);
+                    var childView = roomListView.GetChildren(i);
 
-                var roomViewbg = new ImageView()
+                    if (childView.GetType() == typeof(FrameLayout))
+                    {
+                        var roomView = childView as FrameLayout;
+
+                        //澶у浘鏄剧ず
+                        if (OnAppConfig.Instance.IsShowBigPicture)
+                        {
+                            LoadBigPirtureRoomRow(roomView, roomsShowed[i]);
+                        }
+                        else//鏃犲浘鏄剧ず
+                        {
+                            LoadSmallPirtureRoomRow(roomView, roomsShowed[i]);
+                        }
+                    }
+
+                    new System.Threading.Thread(() =>
+                    {
+                        //闇�瑕佺Щ鍔ㄧ殑楂樺害
+                        var runHeight = Application.GetRealWidth(i * 142);
+
+                        int runCount = 0;
+                        //寰幆娆℃暟锛屽姩鐢绘晥鏋滈渶瑕佸湪1绉� 锛�10娆★級鍐呭畬鎴�
+                        while (runCount < 9)
+                        {
+                            Application.RunOnMainThread(() =>
+                            {
+                                if (childView.GetType() == typeof(FrameLayout))
+                                {
+                                    childView.Height += Application.GetRealWidth(14) * runDirection;
+                                }
+                                if (i > 0)
+                                {
+                                    childView.Y += runDirection * Application.GetRealWidth(14 * i);
+                                }
+                            });
+                            runCount++;
+                            System.Threading.Thread.Sleep(12);
+                        }
+                        Application.RunOnMainThread(() =>
+                        {
+                            childView.Y += runHeight * runDirection;
+
+                            if (childView.GetType() == typeof(FrameLayout))
+                            {
+                                if (runDirection == 1)
+                                {
+                                    childView.Height = Application.GetRealWidth(192+20);
+                                }
+                                else
+                                {
+                                    childView.Height = Application.GetRealWidth(70+20);
+                                }
+                            }
+                        });
+                    })
+                    { IsBackground = true, Priority = System.Threading.ThreadPriority.Highest }.Start();
+                }
+            }
+            else
+            {
+                roomListView.RemoveAll();
+                foreach (var room in roomsShowed)
                 {
-                    Width = Application.GetRealWidth(343),
-                    Height = Application.GetRealHeight(184),
-                    ImagePath = room.backgroundImage,
-                    Radius = (uint)Application.GetRealWidth(12),
-                };
-                roomView.AddChidren(roomViewbg);
+                    //澶у浘鏄剧ず
+                    if (OnAppConfig.Instance.IsShowBigPicture)
+                    {
+                        roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor;
+                        var roomView = new FrameLayout()
+                        {
+                            Gravity = Gravity.CenterHorizontal,
+                            Width = Application.GetRealWidth(343),
+                            Height = Application.GetRealWidth(192 + 20),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
+                            Radius = (uint)Application.GetRealWidth(12),
+                            Tag = room.roomId,
+                            BackgroundColor = CSS_Color.MainBackgroundColor,
+                        };
+                        roomListView.AddChidren(roomView);
 
-                var roomViewbgColor = new Button()
-                {
-                    Radius = (uint)Application.GetRealWidth(12),
-                    BackgroundColor = 0x19333333,
-                };
-                roomView.AddChidren(roomViewbgColor);
+                        LoadBigPirtureRoomRow(roomView, room);
 
-                var btnFloorAndRoomName = new Button()
-                {
-                    X = Application.GetRealWidth(16),
-                    Y = Application.GetRealHeight(12 - 2),
-                    Width = Application.GetRealWidth(266),
-                    Height = Application.GetRealHeight(22 + 2 + 2),
-                    Text = room.floorName + room.name,
-                    TextAlignment = TextAlignment.CenterLeft,
-                    TextColor = CSS_Color.MainBackgroundColor,
-                    TextSize = CSS_FontSize.SubheadingFontSize,
-                };
-                roomView.AddChidren(btnFloorAndRoomName);
-
-                #region 鐜鏁版嵁
-                var environmentalView = new FrameLayout()
-                {
-                    Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
-                    Height = Application.GetRealHeight(32),
-                    Tag = "EnvironmentalView",
-                };
-                roomView.AddChidren(environmentalView);
-
-                Button btnTempIcon = new Button()
-                {
-                    X = Application.GetRealWidth(12),
-                    Gravity = Gravity.CenterVertical,
-                    Width = Application.GetMinRealAverage(16),
-                    Height = Application.GetMinRealAverage(16),
-                    UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
-                };
-                environmentalView.AddChidren(btnTempIcon);
-
-                var btnTempValues = new Button()
-                {
-                    X = btnTempIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
-                    Gravity = Gravity.CenterVertical,
-                    TextColor = CSS.CSS_Color.MainBackgroundColor,
-                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = "--掳",
-                    TextAlignment = TextAlignment.CenterLeft,
-                    Tag = "TempValues"
-                };
-                environmentalView.AddChidren(btnTempValues);
-
-                Button btnHumidityIcon = new Button()
-                {
-                    X = btnTempValues.Right + Application.GetRealWidth(2),
-                    Gravity = Gravity.CenterVertical,
-                    Width = Application.GetMinRealAverage(16),
-                    Height = Application.GetMinRealAverage(16),
-                    UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
-                };
-                environmentalView.AddChidren(btnHumidityIcon);
-
-                var btnHumidityValues = new Button()
-                {
-                    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
-                    Gravity = Gravity.CenterVertical,
-                    TextColor = CSS.CSS_Color.MainBackgroundColor,
-                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = "--%",
-                    TextAlignment = TextAlignment.CenterLeft,
-                    Tag = "HumidityValues"
-                };
-                environmentalView.AddChidren(btnHumidityValues);
-
-                Button btnPm25Icon = new Button()
-                {
-                    X = btnHumidityValues.Right + Application.GetRealWidth(2),
-                    Gravity = Gravity.CenterVertical,
-                    Width = Application.GetMinRealAverage(16),
-                    Height = Application.GetMinRealAverage(16),
-                    UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
-                };
-                environmentalView.AddChidren(btnPm25Icon);
-
-                var btnPm25Values = new Button()
-                {
-                    X = btnPm25Icon.Right + Application.GetRealWidth(4),
-                    Width = Application.GetRealWidth(30),
-                    Gravity = Gravity.CenterVertical,
-                    TextColor = CSS.CSS_Color.MainBackgroundColor,
-                    TextSize = CSS.CSS_FontSize.PromptFontSize_FirstLevel,
-                    Text = "--",
-                    TextAlignment = TextAlignment.CenterLeft,
-                    Tag = "Pm25Values"
-                };
-                environmentalView.AddChidren(btnPm25Values);
-                roomView.AddChidren(environmentalView);
-                #endregion
-
-                var btnAllClose = new Button()
-                {
-                    X = Application.GetRealWidth(282),
-                    Y = Application.GetRealHeight(126),
-                    Width = Application.GetMinRealAverage(58),
-                    Height = Application.GetMinRealAverage(58),
-                    UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
-                    Tag = "AllClose",
-                    Visible = false
-                };
-                roomView.AddChidren(btnAllClose);
-                LoadEvent_CloseAllFunction(btnAllClose, room);
-
-                var btn = new Button()
-                {
-                    Height = Application.GetRealHeight(20),
-                };
-                roomListView.AddChidren(btn);
-
-                roomViewbgColor.MouseUpEventHandler += (sender, e) =>
-                {
-                    var view = new RoomPage(room);
-                    MainPage.BasePageView.AddChidren(view);
-                    view.LoadPage();
-                    MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                };
-
+                    }
+                    else//鏃犲浘鏄剧ず
+                    {
+                        roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor;
+                        var roomView = new FrameLayout()
+                        {
+                            Gravity = Gravity.CenterHorizontal,
+                            Width = Application.GetRealWidth(343),
+                            Height = Application.GetRealWidth(70 + 20),
+                            Radius = (uint)Application.GetRealWidth(12),
+                            Tag = room.roomId,
+                            BackgroundColor = CSS_Color.MainBackgroundColor,
+                        };
+                        roomListView.AddChidren(roomView);
+                        LoadSmallPirtureRoomRow(roomView, room);
+                    }
+                }
             }
         }
+
+        /// <summary>
+        /// 鍔犺浇澶у浘鎴块棿row
+        /// </summary>
+        /// <param name="roomView"></param>
+        /// <param name="room"></param>
+        void LoadBigPirtureRoomRow(FrameLayout roomView, Room room)
+        {
+            roomView.RemoveAll();
+            roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.MainBackgroundColor;
+            roomView.BackgroundColor = CSS_Color.MainBackgroundColor;
+            var roomViewbg = new ImageView()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(192),//2020-12-01 鎴块棿鍥剧墖姣斾緥鏀瑰洖16:9
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            roomView.AddChidren(roomViewbg);
+
+            //2020-12-03 淇敼鍥剧墖鍔犺浇鏂规硶
+            ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
+
+            var btnFloorAndRoomName = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Y = Application.GetRealHeight(12 - 2),
+                Width = Application.GetRealWidth(266),
+                Height = Application.GetRealHeight(22 + 2 + 2),
+                Text = room.floorName + room.roomName,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.MainBackgroundColor,
+                TextSize = CSS_FontSize.SubheadingFontSize,
+            };
+            roomView.AddChidren(btnFloorAndRoomName);
+
+            #region 鐜鏁版嵁
+            //var environmentalView = new FrameLayout()
+            //{
+            //    Y = Application.GetRealHeight(2) + btnFloorAndRoomName.Bottom,
+            //    Height = Application.GetRealHeight(32),
+            //    Tag = "EnvironmentalView",
+            //};
+            //roomView.AddChidren(environmentalView);
+
+            //Button btnTempIcon = new Button()
+            //{
+            //    X = Application.GetRealWidth(12),
+            //    Gravity = Gravity.CenterVertical,
+            //    Width = Application.GetMinRealAverage(16),
+            //    Height = Application.GetMinRealAverage(16),
+            //    UnSelectedImagePath = "Public/DeviceInfoIcon/TempIcon.png",
+            //};
+            //environmentalView.AddChidren(btnTempIcon);
+
+            //var btnTempValues = new Button()
+            //{
+            //    X = btnTempIcon.Right + Application.GetRealWidth(4),
+            //    Width = Application.GetRealWidth(30),
+            //    Gravity = Gravity.CenterVertical,
+            //    TextColor = CSS_Color.MainBackgroundColor,
+            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //    Text = "--掳",
+            //    TextAlignment = TextAlignment.CenterLeft,
+            //    Tag = "TempValues"
+            //};
+            //environmentalView.AddChidren(btnTempValues);
+
+            //Button btnHumidityIcon = new Button()
+            //{
+            //    X = btnTempValues.Right + Application.GetRealWidth(2),
+            //    Gravity = Gravity.CenterVertical,
+            //    Width = Application.GetMinRealAverage(16),
+            //    Height = Application.GetMinRealAverage(16),
+            //    UnSelectedImagePath = "Public/DeviceInfoIcon/HumidityIcon.png",
+            //};
+            //environmentalView.AddChidren(btnHumidityIcon);
+
+            //var btnHumidityValues = new Button()
+            //{
+            //    X = btnHumidityIcon.Right + Application.GetRealWidth(4),
+            //    Width = Application.GetRealWidth(30),
+            //    Gravity = Gravity.CenterVertical,
+            //    TextColor = CSS_Color.MainBackgroundColor,
+            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //    Text = "--%",
+            //    TextAlignment = TextAlignment.CenterLeft,
+            //    Tag = "HumidityValues"
+            //};
+            //environmentalView.AddChidren(btnHumidityValues);
+
+            //Button btnPm25Icon = new Button()
+            //{
+            //    X = btnHumidityValues.Right + Application.GetRealWidth(2),
+            //    Gravity = Gravity.CenterVertical,
+            //    Width = Application.GetMinRealAverage(16),
+            //    Height = Application.GetMinRealAverage(16),
+            //    UnSelectedImagePath = "Public/DeviceInfoIcon/Pm25Icon.png",
+            //};
+            //environmentalView.AddChidren(btnPm25Icon);
+
+            //var btnPm25Values = new Button()
+            //{
+            //    X = btnPm25Icon.Right + Application.GetRealWidth(4),
+            //    Width = Application.GetRealWidth(30),
+            //    Gravity = Gravity.CenterVertical,
+            //    TextColor = CSS_Color.MainBackgroundColor,
+            //    TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+            //    Text = "--",
+            //    TextAlignment = TextAlignment.CenterLeft,
+            //    Tag = "Pm25Values"
+            //};
+            //environmentalView.AddChidren(btnPm25Values);
+            //roomView.AddChidren(environmentalView);
+            #endregion
+
+            var roomViewbgColor = new Button()
+            {
+                Height = Application.GetRealWidth(192),
+                Radius = (uint)Application.GetRealWidth(12),
+                BackgroundColor = 0x19333333,
+            };
+            roomView.AddChidren(roomViewbgColor);
+
+            var btnAllClose = new Button()
+            {
+                X = Application.GetRealWidth(282),
+                Y = Application.GetRealWidth(126),
+                Width = Application.GetMinRealAverage(48),
+                Height = Application.GetMinRealAverage(48),
+                UnSelectedImagePath = "Classification/Room/AllCloseIcon.png",
+                Tag = "AllClose",
+                Visible = false
+            };
+            roomView.AddChidren(btnAllClose);
+            LoadEvent_CloseAllFunction(btnAllClose, room);
+
+            //var btn = new Button()
+            //{
+            //    Y = Application.GetRealWidth(192),
+            //    Height = Application.GetRealWidth(20),
+            //    BackgroundColor = CSS_Color.MainBackgroundColor,
+            //};
+            //roomView.AddChidren(btn);
+
+            roomViewbgColor.MouseUpEventHandler += (sender, e) =>
+            {
+                Action ReloadRoomName = () =>
+                {
+                    btnFloorAndRoomName.Text = room.floorName + room.roomName;
+                };
+
+                //鎴块棿鍒犻櫎浜嬩欢
+                Action deleteAction = () =>
+                {
+                    roomView.RemoveFromParent();
+                };
+
+                //鎴块棿鑳屾櫙鍥句慨鏀逛簨浠跺洖璋�
+                Action modifyImageAction = () =>
+                {
+                    //roomViewbg.ImagePath = room.backgroundImage;
+                    ImageUtlis.Current.LoadLocalOrNetworkImages(room.backgroundImage, roomViewbg);
+                };
+
+                var view = new RoomPage(room, ReloadRoomName, deleteAction, modifyImageAction);
+                MainPage.BasePageView.AddChidren(view);
+                view.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+        }
+        /// <summary>
+        /// 璁拌浇灏忓浘鎴块棿row
+        /// </summary>
+        void LoadSmallPirtureRoomRow(FrameLayout roomView, Room room)
+        {
+            roomView.RemoveAll();
+            roomFloorChangeView.BackgroundColor = roomListView.BackgroundColor = CSS_Color.BackgroundColor;
+            roomView.BackgroundColor = CSS_Color.BackgroundColor;
+            //roomView.BackgroundColor = CSS_Color.MainBackgroundColor;
+
+
+            var viewbg = new Button()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(70),
+                Radius = (uint)Application.GetRealWidth(12),
+                BackgroundColor = CSS_Color.MainBackgroundColor,
+            };
+            roomView.AddChidren(viewbg);
+
+            var btnRoomName = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                //Y = Application.GetRealHeight(12 - 2),
+                Width = Application.GetRealWidth(266),
+                Height = Application.GetRealHeight(52),
+                Text = room.roomName,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.FirstLevelTitleColor,
+                TextSize = CSS_FontSize.TextFontSize,
+            };
+            roomView.AddChidren(btnRoomName);
+
+            var btnFloorName = new Button()
+            {
+                X = Application.GetRealWidth(16),
+                Y = Application.GetRealHeight(19),
+                Width = Application.GetRealWidth(266),
+                Height = Application.GetRealHeight(46),
+                Text = room.floorName,
+                TextAlignment = TextAlignment.CenterLeft,
+                TextColor = CSS_Color.PromptingColor1,
+                TextSize = CSS_FontSize.PromptFontSize_SecondaryLevel,
+            };
+            roomView.AddChidren(btnFloorName);
+
+            var roomViewbg = new ImageView()
+            {
+                Width = Application.GetRealWidth(343),
+                Height = Application.GetRealWidth(70),
+                Radius = (uint)Application.GetRealWidth(12),
+            };
+            roomView.AddChidren(roomViewbg);
+
+            var btnAllClose = new Button()
+            {
+                X = Application.GetRealWidth(278),
+                Y = Application.GetRealWidth(15),
+                Width = Application.GetMinRealAverage(50),
+                Height = Application.GetMinRealAverage(50),
+                UnSelectedImagePath = "Classification/Room/AllCloseIcon2.png",
+                Tag = "AllClose",
+                Visible = false
+            };
+            roomView.AddChidren(btnAllClose);
+            LoadEvent_CloseAllFunction(btnAllClose, room);
+
+            //var btn = new Button()
+            //{
+            //    Y = Application.GetRealWidth(70),
+            //    Height = Application.GetRealWidth(20),
+            //    BackgroundColor = CSS_Color.BackgroundColor,
+            //};
+            //roomView.AddChidren(btn);
+
+            roomViewbg.MouseUpEventHandler += (sender, e) =>
+            {
+                Action ReloadRoomName = () =>
+                {
+                    btnFloorName.Text = room.floorName;
+                    btnRoomName.Text = room.roomName;
+                };
+
+                //鎴块棿鍒犻櫎浜嬩欢
+                Action deleteAction = () =>
+                {
+                    roomView.RemoveFromParent();
+                };
+                Action action = () =>
+                {
+                };
+
+                var view = new RoomPage(room, ReloadRoomName, deleteAction, action);
+                MainPage.BasePageView.AddChidren(view);
+                view.LoadPage();
+                MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+            };
+        }
+
 
         /// <summary>
         /// 鍔犺浇鍔熻兘鍒楄〃鐣岄潰
@@ -410,10 +643,11 @@
 
             var lastY1 = Application.GetRealWidth(16);
             var lastY2 = Application.GetRealWidth(16);
+            var functionContentViewHeight = Application.GetRealWidth(16);
 
             var functionCategoryCount = 0;
 
-            foreach (var item in DB_ResidenceData.residenceData.functionTypeList)
+            foreach (var item in DB_ResidenceData.Instance.functionTypeList)
             {
                 int functionCount = 0;
                 int functionOnCount = 0;
@@ -421,64 +655,89 @@
                 {
                     case ShowFunction.Light:
                         #region Light
-                        functionCount = DB_ResidenceData.functionList.lights.Count;
-                        functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetLightList().Count;
+                        functionOnCount = FunctionList.List.GetLightList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.AC:
                         #region AC
-                        functionCount = DB_ResidenceData.functionList.aCs.Count;
-                        functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetAcList().Count;
+                        functionOnCount = FunctionList.List.GetAcList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.Curtain:
                         #region Curtain
-                        functionCount = DB_ResidenceData.functionList.curtains.Count;
-                        functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetCurtainList().Count;
+                        functionOnCount = FunctionList.List.GetCurtainList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.FloorHeating:
                         #region 鍦扮儹
-                        functionCount = DB_ResidenceData.functionList.floorHeatings.Count;
-                        functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetFloorHeatingList().Count;
+                        functionOnCount = FunctionList.List.GetFloorHeatingList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.DoorLock:
                         break;
                     case ShowFunction.Electric:
                         #region 鐢靛櫒
-                        functionCount = DB_ResidenceData.functionList.electricals.Count;
-                        functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetElectricals().Count;
+                        functionOnCount = FunctionList.List.GetElectricals().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         #endregion
                         break;
                     case ShowFunction.EnergyMonitoring:
+                        #region 鑳芥簮
+                        functionCount = FunctionList.List.GetEnergyList().Count;
+                        functionOnCount = FunctionList.List.GetEnergyList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
+                        #endregion
                         break;
                     case ShowFunction.Environmental:
                         #region 鐜鏁版嵁
-                        functionCount = DB_ResidenceData.functionList.sensorsEnvironmentalScience.Count;
+                        functionCount = FunctionList.List.GetEnvirSensorsList().Count;
                         #endregion
                         break;
                     case ShowFunction.FreshAir:
+                        functionCount = FunctionList.List.GetAirFreshList().Count;
+                        functionOnCount = FunctionList.List.GetAirFreshList().FindAll((obj) => obj.trait_on_off.curValue.ToString() == "on").Count;
                         break;
                     case ShowFunction.Music:
-                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
-                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
+                        functionCount = FunctionList.List.GetMusicList().Count;
+#if DEBUG
+                        functionCount = 1;
+#endif
                         break;
                     case ShowFunction.Panel:
                         break;
                     case ShowFunction.SecurityMonitoring:
+                        if (!MainPage.NoLoginMode)
+                        {
+                            functionCount = 1;
+                        }
                         break;
                     case ShowFunction.Sensor:
+                        functionCount = FunctionList.List.GetArmSensorList().Count;
                         break;
                     case ShowFunction.VideoIntercom:
+                        if (FunctionList.List.videoIntercom != null && FunctionList.List.videoIntercom.Count > 0)
+                        {
+                            functionCount = 1;
+                        }
+                        break;
+                    case ShowFunction.SecurityCenter:
+                        functionCount = FunctionList.List.securities.Count;
+                        //if (DB_ResidenceData.Instance.GatewayType == 1)
+                        //{
+                        //    functionCount = 1;
+                        //}
                         break;
 
                 }
 
-                if (functionCount == 0 && item != ShowFunction.Music)
+                if(functionCount == 0)
                 {
                     continue;
                 }
+
                 functionCategoryCount++;
 
                 FrameLayout functionView = new FrameLayout()
@@ -511,6 +770,55 @@
                 {
                     s2View.AddChidren(functionView);
                 }
+                functionContentViewHeight = functionView.Bottom;
+
+
+                Button btnName = new Button()
+                {
+                    X = Application.GetRealWidth(16),
+                    Y = Application.GetRealHeight(14),
+                    Width = Application.GetRealWidth(140),
+                    Height = Application.GetRealHeight(24),
+                    TextColor = CSS_Color.FirstLevelTitleColor,
+                    TextSize = CSS_FontSize.TextFontSize,
+                    TextAlignment = TextAlignment.CenterLeft,
+                    IsMoreLines = true,
+                };
+                functionView.AddChidren(btnName);
+
+                if (item != ShowFunction.Environmental && item != ShowFunction.Sensor && item != ShowFunction.VideoIntercom
+                    && item != ShowFunction.SecurityMonitoring && item != ShowFunction.FreshAir && item != ShowFunction.Music
+                    && item != ShowFunction.EnergyMonitoring && item != ShowFunction.SecurityCenter
+                    && functionCount != 0)
+                {
+                    Button btnFunctionCount = new Button()
+                    {
+                        X = Application.GetRealWidth(17) + Application.GetRealWidth(7 * functionCount.ToString().Length),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(120),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.PromptingColor1,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = "/" + functionCount,
+                    };
+                    functionView.AddChidren(btnFunctionCount);
+                    Button btnOpenCount = new Button()
+                    {
+                        X = Application.GetRealWidth(16),
+                        Y = btnName.Bottom,
+                        Width = Application.GetRealWidth(14 * functionCount.ToString().Length),
+                        Height = Application.GetRealHeight(24),
+                        TextColor = CSS_Color.MainColor,
+                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
+                        TextAlignment = TextAlignment.CenterLeft,
+                        Text = functionOnCount.ToString(),
+                        Tag = item + "_onCount",
+                        BorderWidth = 0,
+                    };
+                    functionView.AddChidren(btnOpenCount);
+                }
+
 
                 Button btnFunctionViewBg;
                 btnFunctionViewBg = new Button()
@@ -520,26 +828,12 @@
                 };
                 functionView.AddChidren(btnFunctionViewBg);
 
-                Button btnName = new Button()
-                {
-                    X = Application.GetRealWidth(16),
-                    Y = Application.GetRealHeight(14),
-                    Width = Application.GetRealWidth(120),
-                    Height = Application.GetRealHeight(24),
-                    TextColor = CSS_Color.FirstLevelTitleColor,
-                    TextSize = CSS_FontSize.TextFontSize,
-                    TextAlignment = TextAlignment.CenterLeft,
-                };
-                functionView.AddChidren(btnName);
-
-
+                int functionPageTitleId = 0;
                 switch (item)
                 {
                     case ShowFunction.Light:
                         #region Light
                         btnName.TextID = StringId.Lights;
-                        functionCount = DB_ResidenceData.functionList.lights.Count;
-                        functionOnCount = DB_ResidenceData.functionList.lights.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         Button btnLightPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -552,25 +846,18 @@
                             Tag = item + "_AllControl",
                         };
                         functionView.AddChidren(btnLightPower);
-                       
+
                         btnLightPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnLightPower, item);
+                            LoadEvent_SwitchFunction(btnLightPower, item, functionView);
                         };
-                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
-                        {
-                            var skipView = new FunctionPage();
-                            MainPage.BasePageView.AddChidren(skipView);
-                            skipView.LoadPage(StringId.Lights);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        };
+                        functionPageTitleId = StringId.Lights;
+
                         #endregion
                         break;
                     case ShowFunction.AC:
                         #region AC
                         btnName.TextID = StringId.AC;
-                        functionCount = DB_ResidenceData.functionList.aCs.Count;
-                        functionOnCount = DB_ResidenceData.functionList.aCs.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         Button btnAcPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -585,22 +872,14 @@
                         functionView.AddChidren(btnAcPower);
                         btnAcPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnAcPower, item);
+                            LoadEvent_SwitchFunction(btnAcPower, item, functionView);
                         };
-                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
-                        {
-                            var skipView = new FunctionPage();
-                            MainPage.BasePageView.AddChidren(skipView);
-                            skipView.LoadPage(StringId.AC);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        };
+                        functionPageTitleId = StringId.AC;
                         #endregion
                         break;
                     case ShowFunction.Curtain:
                         #region Curtain
                         btnName.TextID = StringId.Curtain;
-                        functionCount = DB_ResidenceData.functionList.curtains.Count;
-                        functionOnCount = DB_ResidenceData.functionList.curtains.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         Button btnClose;
                         btnClose = new Button()
                         {
@@ -610,8 +889,7 @@
                             Height = Application.GetRealWidth(32),
                             UnSelectedImagePath = "FunctionIcon/Curtain/CurtainCloseIcon.png",
                             SelectedImagePath = "FunctionIcon/Curtain/CurtainCloseOnIcon.png",
-                            Tag = item + "_AllControl",
-                            IsSelected = functionOnCount > 0
+                            IsSelected = !DB_ResidenceData.Instance.GlobalCurtainStatus,
                         };
                         functionView.AddChidren(btnClose);
 
@@ -624,24 +902,17 @@
                             Height = Application.GetRealWidth(32),
                             UnSelectedImagePath = "FunctionIcon/Curtain/CurtainOpenIcon.png",
                             SelectedImagePath = "FunctionIcon/Curtain/CurtainOpenOnIcon.png",
+                            IsSelected = DB_ResidenceData.Instance.GlobalCurtainStatus,
                         };
                         functionView.AddChidren(btnOpen);
-                        LoadEvent_CurtainSwitch(btnClose, btnOpen);
+                        LoadEvent_CurtainSwitch(btnClose, btnOpen, functionView);
 
-                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
-                        {
-                            var skipView = new FunctionPage();
-                            MainPage.BasePageView.AddChidren(skipView);
-                            skipView.LoadPage(StringId.Curtain);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        };
+                        functionPageTitleId = StringId.Curtain;
                         #endregion
                         break;
                     case ShowFunction.FloorHeating:
                         #region 鍦扮儹
                         btnName.TextID = StringId.FloorHeating;
-                        functionCount = DB_ResidenceData.functionList.floorHeatings.Count;
-                        functionOnCount = DB_ResidenceData.functionList.floorHeatings.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         Button btnFhPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -656,15 +927,9 @@
                         functionView.AddChidren(btnFhPower);
                         btnFhPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnFhPower, item);
+                            LoadEvent_SwitchFunction(btnFhPower, item, functionView);
                         };
-                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
-                        {
-                            var skipView = new FunctionPage();
-                            MainPage.BasePageView.AddChidren(skipView);
-                            skipView.LoadPage(StringId.FloorHeating);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        };
+                        functionPageTitleId = StringId.FloorHeating;
                         #endregion
                         break;
                     case ShowFunction.DoorLock:
@@ -673,8 +938,6 @@
                     case ShowFunction.Electric:
                         #region 鐢靛櫒
                         btnName.TextID = StringId.Electric;
-                        functionCount = DB_ResidenceData.functionList.electricals.Count;
-                        functionOnCount = DB_ResidenceData.functionList.electricals.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         Button btnElectricPower = new Button()
                         {
                             X = Application.GetRealWidth(120),
@@ -689,26 +952,29 @@
                         functionView.AddChidren(btnElectricPower);
                         btnElectricPower.MouseUpEventHandler = (sender, e) =>
                         {
-                            LoadEvent_SwitchFunction(btnElectricPower, item);
+                            LoadEvent_SwitchFunction(btnElectricPower, item, functionView);
                         };
-                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
-                        {
-                            var skipView = new FunctionPage();
-                            MainPage.BasePageView.AddChidren(skipView);
-                            skipView.LoadPage(StringId.Electric);
-                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
-                        };
+                        functionPageTitleId = StringId.Electric;
                         #endregion
                         break;
                     case ShowFunction.EnergyMonitoring:
+                        #region 鑳芥簮鐩戞祴
                         btnName.TextID = StringId.EnergyMonitoring;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) => {
+                            var skipView = new EnergyMainPage();
+                            MainPage.BasePageView.AddChidren(skipView);
+                            skipView.LoadPage();
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        };
+                        #endregion
                         break;
                     case ShowFunction.Environmental:
                         #region 鐜鏁版嵁
                         btnName.TextID = StringId.EnvironmentalData;
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                         {
-                            var skipView = new EnvironmentalSciencePage();
+                            var skipView = new EnvironmentalPage();// EnvironmentalSciencePage();
+                            //var skipView = new A_EnvironmentalDataCenter();// EnvironmentalSciencePage();
                             MainPage.BasePageView.AddChidren(skipView);
                             skipView.LoadPage();
                             MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
@@ -717,11 +983,30 @@
                         break;
                     case ShowFunction.FreshAir:
                         btnName.TextID = StringId.FreshAir;
+                        #region Light
+                        Button btnFreshAirPower = new Button()
+                        {
+                            X = Application.GetRealWidth(120),
+                            Y = specialList.Contains(index) ? Application.GetRealWidth(160) : Application.GetRealWidth(117),
+                            Width = Application.GetRealWidth(32),
+                            Height = Application.GetRealWidth(32),
+                            SelectedImagePath = "Public/PowerOpen.png",
+                            UnSelectedImagePath = "Public/PowerClose.png",
+                            IsSelected = functionOnCount > 0,
+                            Tag = item + "_AllControl",
+                        };
+                        functionView.AddChidren(btnFreshAirPower);
+
+                        btnFreshAirPower.MouseUpEventHandler = (sender, e) =>
+                        {
+                            LoadEvent_SwitchFunction(btnFreshAirPower, item, functionView);
+                        };
+                        functionPageTitleId = StringId.FreshAir;
+
+                        #endregion
                         break;
                     case ShowFunction.Music:
                         btnName.TextID = StringId.Music;
-                        functionCount = Music.A31MusicModel.A31MusicModelList.Count;
-                        functionOnCount = Music.A31MusicModel.A31MusicModelList.FindAll((obj) => obj.trait_on_off.value.ToString() == "on").Count;
                         btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                         {
                             var musicMain = new Music.MusicMain();
@@ -735,59 +1020,62 @@
                         break;
                     case ShowFunction.SecurityMonitoring:
                         btnName.TextID = StringId.SecurityMonitoring;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            HDLCommon.Current.Go2EZvizMonitor(bodyView);
+                        };
                         break;
                     case ShowFunction.Sensor:
                         btnName.TextID = StringId.Sensor;
-
+                        functionPageTitleId = StringId.Sensor;
                         break;
-                    case ShowFunction.VideoIntercom:
+                    case ShowFunction.VideoIntercom://鍙瀵硅
                         btnName.TextID = StringId.VideoIntercom;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            var videoMethod = new UI2.FuntionControlView.Video.VideoMethod();
+                            videoMethod.MianView(this);
+                        };
+                        break;
+                    case ShowFunction.SecurityCenter:
+                        btnName.TextID = StringId.SecurityCenter;
+                        btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
+                        {
+                            var page = new ArmCenterPage();
+                            MainPage.BasePageView.AddChidren(page);
+                            page.LoadPage();
+                            MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
+                        };
                         break;
 
                 }
-                if (item != ShowFunction.Environmental && functionCount != 0)
+                //鐣岄潰璺宠浆--闊充箰璺宠浆鑷繁鐨勭晫闈�--鐜璺宠浆鑷繁鐨勭晫闈�
+                if (item != ShowFunction.Music && item != ShowFunction.Environmental && item != ShowFunction.SecurityMonitoring
+                    && ShowFunction.EnergyMonitoring!= item && ShowFunction.VideoIntercom != item && ShowFunction.SecurityCenter != item)
                 {
-                    Button btnFunctionCount = new Button()
+                    btnFunctionViewBg.MouseUpEventHandler = (sender, e) =>
                     {
-                        X = Application.GetRealWidth(16)+ Application.GetRealWidth(7 * functionCount.ToString().Length),
-                        Y = btnName.Bottom,
-                        Width = Application.GetRealWidth(120),
-                        Height = Application.GetRealHeight(24),
-                        TextColor = CSS_Color.PromptingColor1,
-                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        TextAlignment = TextAlignment.CenterLeft,
-                        Text = "/" + functionCount,
+                        var skipView = new FunctionPage();
+                        MainPage.BasePageView.AddChidren(skipView);
+                        skipView.LoadPage(functionPageTitleId);
+                        MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1;
                     };
-                    functionView.AddChidren(btnFunctionCount);
-                    Button btnOpenCount = new Button()
-                    {
-                        X = Application.GetRealWidth(16),
-                        Y = btnName.Bottom,
-                        Width = Application.GetRealWidth(12 * functionCount.ToString().Length),
-                        Height = Application.GetRealHeight(24),
-                        TextColor = CSS_Color.MainColor,
-                        TextSize = CSS_FontSize.PromptFontSize_FirstLevel,
-                        TextAlignment = TextAlignment.CenterLeft,
-                        Text = functionOnCount.ToString(),
-                        Tag = item + "_onCount",
-                        BorderWidth = 0,
-                    };
-                    functionView.AddChidren(btnOpenCount);
                 }
                 index++;
             }
 
-            if (functionCategoryCount> 4)
+            //if (functionCategoryCount > 4)
             {
-                functionContentView.Height += Application.GetRealHeight((220 * (functionCategoryCount - 4 - 2) / 2) + 20);
+                //functionContentView.Height = functionContentViewHeight;// Application.GetRealWidth((240 * (functionCategoryCount / 2)));
+                s1View.Height = s2View.Height = functionContentView.Height = functionContentViewHeight+ Application.GetRealWidth(40);
             }
 
-            #endregion
+#endregion
         }
 
         #region 鍒囨崲妤煎眰
         /// <summary>
-        /// 浣忓畢鍒楄〃鐐瑰嚮浜嬩欢
+        /// 妤煎眰鏄剧ず鍒囨崲
         /// </summary>
         void LoadDialog_ChangeFloor()
         {
@@ -821,10 +1109,10 @@
                 };
                 dispalyView.AddChidren(contentView);
 
-                if (DB_ResidenceData.residenceData.floors.Count < 2)
+                if (SpatialInfo.CurrentSpatial.FloorList.Count < 2)
                 {
                 }
-                else if (DB_ResidenceData.residenceData.floors.Count < 3)
+                else if (SpatialInfo.CurrentSpatial.FloorList.Count < 3)
                 {
                     dispalyView = new FrameLayout()
                     {
@@ -839,7 +1127,7 @@
                     contentView.Height = Application.GetRealHeight(45 * 3);
                     dispalyView.AddChidren(contentView);
                 }
-                else if (DB_ResidenceData.residenceData.floors.Count < 4)
+                else if (SpatialInfo.CurrentSpatial.FloorList.Count < 4)
                 {
                     dispalyView = new FrameLayout()
                     {
@@ -872,23 +1160,24 @@
                 }
 
 
-                List<string> chooseList = new List<string>();
-                chooseList.Add(Language.StringByID(StringId.All));
-                foreach (var f in DB_ResidenceData.residenceData.floors)
+                List<SpatialInfo> chooseList = new List<SpatialInfo>();
+                chooseList.Add(new SpatialInfo() { roomId = "", roomName = Language.StringByID(StringId.All) });
+                foreach (var f in SpatialInfo.CurrentSpatial.FloorList)
                 {
-                    chooseList.Add(f.name);
+                    chooseList.Add(f);
                 }
 
                 foreach (var floor in chooseList)
                 {
-                    if (floor != Language.StringByID(StringId.All))
+                    if (!string.IsNullOrEmpty( floor.roomId))// != Language.StringByID(StringId.All))
                     {
+                        //---鍒嗗壊绾�
                         contentView.AddChidren(new Button()
                         {
                             Gravity = Gravity.CenterHorizontal,
                             Width = Application.GetRealWidth(112),
                             Height = Application.GetRealHeight(1),
-                            BackgroundColor = CSS.CSS_Color.BackgroundColor
+                            BackgroundColor = CSS_Color.BackgroundColor
                         });
                     }
                     var btnHomeName = new Button()
@@ -897,30 +1186,30 @@
                         Width = Application.GetRealWidth(112),
                         Height = Application.GetRealHeight(44),
                         TextAlignment = TextAlignment.CenterLeft,
-                        TextColor = CSS.CSS_Color.FirstLevelTitleColor,
-                        SelectedTextColor = CSS.CSS_Color.MainColor,
-                        Text = floor,
-                        TextSize = CSS.CSS_FontSize.SubheadingFontSize,
-                        IsSelected = btnFloor.Text == floor,
-                        IsMoreLines = true,
-                        Tag = floor
+                        TextColor = CSS_Color.FirstLevelTitleColor,
+                        SelectedTextColor = CSS_Color.MainColor,
+                        Text = floor.roomName,
+                        TextSize = CSS_FontSize.SubheadingFontSize,
+                        IsSelected = floor.roomId == DB_ResidenceData.Instance.ClassificationChooseFloor.roomId,
+                        //IsMoreLines = true,
                     };
                     contentView.AddChidren(btnHomeName);
 
                     btnHomeName.MouseUpEventHandler += (senderH, en) =>
                     {
                         dialog.Close();
-                        btnFloor.Text = floor;
+                        btnFloor.Text = floor.roomName;
+                        DB_ResidenceData.Instance.ClassificationChooseFloor = floor;
                         roomsShowed.Clear();
-                        if (floor == Language.StringByID(StringId.All))
+                        if (string.IsNullOrEmpty(floor.roomId))
                         {
-                            roomsShowed.AddRange(DB_ResidenceData.rooms);
+                            roomsShowed.AddRange(SpatialInfo.CurrentSpatial.RoomList);
                         }
                         else
                         {
-                            foreach (var room in DB_ResidenceData.rooms)
+                            foreach (var room in SpatialInfo.CurrentSpatial.RoomList)
                             {
-                                if (room.floorName == floor)
+                                if (room.parentId == floor.uid)
                                 {
                                     roomsShowed.Add(room);
                                 }
@@ -943,4 +1232,4 @@
         }
         #endregion
     }
-}
+}
\ No newline at end of file

--
Gitblit v1.8.0