黄学彪
2019-10-10 4f92fe4e4397b05bc97d17e8ad02818a689acdb8
ZigbeeApp/Shared/Phone/UserView/UserHomeView.cs
@@ -30,14 +30,7 @@
        /// 功能和场景bodyView
        /// </summary>
        private FrameLayout functionSceneBodyView;
        /// <summary>
        /// The height of the top frame layout -- 500
        /// </summary>
        private static readonly int topFrameLayout_Height = 500;
        /// <summary>
        /// 1524
        /// </summary>
        private static readonly int midView_Height = 1524;
        /// <summary>
        /// The height of the room page view. -- 550
        /// </summary>
@@ -78,6 +71,9 @@
        /// </summary>
        private readonly int sleepSpan = 300;
        private FrameLayout itemView;
        #endregion
        #region ◆ 接口____________________________
@@ -115,9 +111,8 @@
                        for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
                        {
                            var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
                            var rowLayout = rowFL.GetChildren(0) as RowLayout;
                            var deviceUI = rowLayout.Tag as DeviceUI;
                            if (deviceUI.CommonDevice == null || rowLayout.ChildrenCount == 0)
                            var deviceUI = rowFL.Tag as DeviceUI;
                            if (deviceUI.CommonDevice == null || rowFL.ChildrenCount == 0)
                            {
                                //设备为空或者控件为空
                                continue;
@@ -128,7 +123,7 @@
                                //判断是否为当前设备
                                continue;
                            }
                            var frameLayout = rowLayout.GetChildren(0) as FrameLayout;
                            var frameLayout = rowFL.GetChildren(0) as FrameLayout;
                            switch (deviceUI.CommonDevice.Type)
                            {
                                case DeviceType.OnOffOutput:
@@ -137,46 +132,17 @@
                                    {
                                        var onOffOutputLight = deviceUI.CommonDevice as ZigBee.Device.ToggleLight;
                                        onOffOutputLight.DeviceStatusReport = (common as ZigBee.Device.ToggleLight).DeviceStatusReport;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
                                            {
                                                //记录、更新状态
                                                if (onOffOutputLight.DeviceStatusReport.AttriBute == null || onOffOutputLight.DeviceStatusReport.AttriBute.Count == 0)
                                                {
                                                    continue;
                                                }
                                                onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                                (tempView as Button).IsSelected = onOffOutputLight.OnOffStatus == 1;
                                                //记录回复时间
                                                onOffOutputLight.LastDateTime = DateTime.Now;
                                            }
                                        }
                                    }
                                    //当CluterID=3,就证明该设备在线,直接标记
                                    if ((common as ZigBee.Device.ToggleLight).DeviceStatusReport.CluterID == 3)
                                    {
                                        var onOffOutputLight = deviceUI.CommonDevice as ToggleLight;
                                        onOffOutputLight.IsOnline = 1;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        //记录、更新状态
                                        if (onOffOutputLight.DeviceStatusReport.AttriBute == null || onOffOutputLight.DeviceStatusReport.AttriBute.Count == 0)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_Online)
                                            {
                                                (tempView as Button).IsSelected = onOffOutputLight.IsOnline == 1;
                                                //记录回复时间
                                                onOffOutputLight.LastDateTime = DateTime.Now;
                                            }
                                            continue;
                                        }
                                        onOffOutputLight.OnOffStatus = onOffOutputLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = onOffOutputLight.OnOffStatus == 1;
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(onOffOutputLight.OnOffStatus == 1);
                                        //记录回复时间
                                        onOffOutputLight.LastDateTime = DateTime.Now;
                                    }
                                    break;
@@ -356,31 +322,22 @@
                                case DeviceType.DimmableLight:
                                    //调光灯功能
                                    //开关功能
                                    if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6)
                                    if ((common as DimmableLight).DeviceStatusReport.CluterID == 6)
                                    {
                                        var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
                                        dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        var dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                        dimmableLight.DeviceStatusReport = (common as DimmableLight).DeviceStatusReport;
                                        //记录、更新状态
                                        if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_OnOffStatus)
                                            {
                                                //记录、更新状态
                                                if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0)
                                                {
                                                    return;
                                                }
                                                dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                                (tempView as Button).IsSelected = dimmableLight.OnOffStatus == 1;
                                                //记录回复时间
                                                dimmableLight.LastDateTime = DateTime.Now;
                                            }
                                            return;
                                        }
                                        dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData;
                                        (rowFL.GetChildren(0) as FunctionMainView).IsSelected = dimmableLight.OnOffStatus == 1;
                                        (rowFL.GetChildren(0) as FunctionMainView).StatuButton.Text = CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1);
                                        //记录回复时间
                                        dimmableLight.LastDateTime = DateTime.Now;
                                    }
                                    //亮度
                                    if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 8)
                                    {
@@ -412,27 +369,6 @@
                                                break;
                                        }
                                    }
                                    //当CluterID=3,就证明该设备在线,直接标记
                                    if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3)
                                    {
                                        var dimmableLight = deviceUI.CommonDevice as DimmableLight;
                                        dimmableLight.IsOnline = 1;
                                        for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                        {
                                            var tempView = frameLayout.GetChildren(j);
                                            if (tempView.Tag == null)
                                            {
                                                continue;
                                            }
                                            if (tempView.Tag.ToString() == deviceStatus_Online)
                                            {
                                                (tempView as Button).IsSelected = dimmableLight.IsOnline == 1;
                                                //记录回复时间
                                                dimmableLight.LastDateTime = DateTime.Now;
                                            }
                                        }
                                    }
                                    break;
                            }
@@ -444,130 +380,7 @@
                    }
                });
            }
            //设备在线状态上报
            else if (typeTag == "OnlineStatusChange")
            {
                Application.RunOnMainThread(() =>
                {
                    try
                    {
                        for (int i = 0; deviceVerticalScrolViewLayout != null && i < deviceVerticalScrolViewLayout.ChildrenCount; i++)
                        {
                            var rowFL = deviceVerticalScrolViewLayout.GetChildren(i) as FrameLayout;
                            var rowLayout = rowFL.GetChildren(0) as RowLayout;
                            var deviceUI = rowLayout.Tag as DeviceUI;
                            if (deviceUI.CommonDevice == null || rowLayout.ChildrenCount == 0)
                            {
                                //设备为空或者控件为空
                                continue;
                            }
                            if (common.DeviceAddr != deviceUI.CommonDevice.DeviceAddr || common.DeviceEpoint != deviceUI.CommonDevice.DeviceEpoint)
                            {
                                //判断是否为当前设备
                                continue;
                            }
                            var frameLayout = rowLayout.GetChildren(0) as FrameLayout;
                            switch (deviceUI.CommonDevice.Type)
                            {
                                case DeviceType.OnOffOutput:
                                    var onOffOutputLight = deviceUI.CommonDevice as ToggleLight;
                                    onOffOutputLight.IsOnline = (common as ToggleLight).IsOnline;
                                    for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                    {
                                        var tempView = frameLayout.GetChildren(j);
                                        if (tempView.Tag == null)
                                        {
                                            continue;
                                        }
                                        if (tempView.Tag.ToString() == deviceStatus_Online)
                                        {
                                            (tempView as Button).IsSelected = onOffOutputLight.IsOnline == 1;
                                        }
                                    }
                                    //记录回复时间
                                    onOffOutputLight.LastDateTime = DateTime.Now;
                                    break;
                                case DeviceType.AirSwitch:
                                    var airSwitch = deviceUI.CommonDevice as AirSwitch;
                                    airSwitch.IsOnline = (common as AirSwitch).IsOnline;
                                    for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                    {
                                        var tempView = frameLayout.GetChildren(j);
                                        if (tempView.Tag == null)
                                        {
                                            continue;
                                        }
                                        if (tempView.Tag.ToString() == deviceStatus_Online)
                                        {
                                            (tempView as Button).IsSelected = airSwitch.IsOnline == 1;
                                        }
                                    }
                                    //记录回复时间
                                    airSwitch.LastDateTime = DateTime.Now;
                                    break;
                                case DeviceType.WindowCoveringDevice:
                                    var rollershade = deviceUI.CommonDevice as ZigBee.Device.Rollershade;
                                    rollershade.IsOnline = (common as Rollershade).IsOnline;
                                    for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                    {
                                        var tempView = frameLayout.GetChildren(j);
                                        if (tempView.Tag == null)
                                        {
                                            continue;
                                        }
                                        if (tempView.Tag.ToString() == deviceStatus_Online)
                                        {
                                            (tempView as Button).IsSelected = rollershade.IsOnline == 1;
                                        }
                                    }
                                    //记录回复时间
                                    rollershade.LastDateTime = DateTime.Now;
                                    break;
                                case DeviceType.Thermostat:
                                    var ac = deviceUI.CommonDevice as ZigBee.Device.AC;
                                    ac.IsOnline = (common as ZigBee.Device.AC).IsOnline;
                                    for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                    {
                                        var tempView = frameLayout.GetChildren(j);
                                        if (tempView.Tag == null)
                                        {
                                            continue;
                                        }
                                        if (tempView.Tag.ToString() == deviceStatus_Online)
                                        {
                                            (tempView as Button).IsSelected = ac.IsOnline == 1;
                                        }
                                    }
                                    //记录回复时间
                                    ac.LastDateTime = DateTime.Now;
                                    break;
                                case DeviceType.DimmableLight:
                                    var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight;
                                    dimmableLight.IsOnline = (common as ZigBee.Device.DimmableLight).IsOnline;
                                    for (int j = 0; j < frameLayout.ChildrenCount; j++)
                                    {
                                        var tempView = frameLayout.GetChildren(j);
                                        if (tempView.Tag == null)
                                        {
                                            continue;
                                        }
                                        if (tempView.Tag.ToString() == deviceStatus_Online)
                                        {
                                            (tempView as Button).IsSelected = dimmableLight.IsOnline == 1;
                                        }
                                    }
                                    //记录回复时间
                                    dimmableLight.LastDateTime = DateTime.Now;
                                    break;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        System.Console.WriteLine($"主页功能刷新-Error:{ex.Message}");
                    }
                });
            }
        }
        /// <summary>
        /// Changeds the IL ogic status.
@@ -845,7 +658,10 @@
            //消息
            messageBtn.MouseUpEventHandler += (send, e) =>
            {
                var roomList = new Shared.Phone.Device.Room.RoomManagement();
                HomePage.Instance.AddChidren(roomList);
                HomePage.Instance.PageIndex += 1;
                roomList.Show();
            };
            #endregion
@@ -914,10 +730,10 @@
                            //    Show();
                            //};
                            var editRoom = new Device.Room.AddRoom();
                            var editRoom = new Device.Room.EditRoom();
                            HomePage.Instance.AddChidren(editRoom);
                            HomePage.Instance.PageIndex += 1;
                            editRoom.Show();
                            editRoom.Show(room);
                            editRoom.action += () =>
                            {
                                Show();
@@ -1159,7 +975,7 @@
        /// <param name="mouseEventArgs">The ${ParameterType} instance containing the event data.</param>
        private void GoToAddGateWay(object sender, MouseEventArgs mouseEventArgs)
        {
            UserCenter.GatewayAdd.NewGateWaySelectForm selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm { };
            var selectNewGateWayForm = new UserCenter.GatewayAdd.NewGateWaySelectForm { };
            selectNewGateWayForm.AddForm(selectNewGateWayForm);
        }
@@ -1172,13 +988,23 @@
        /// </summary>
        private void ShowNoFunctionTip()
        {
            var noFunction = new Button
            {
                Y = Application.GetRealHeight(69),
                Width = Application.GetMinRealAverage(683),
                Height = Application.GetMinRealAverage(392),
                Gravity = Gravity.CenterHorizontal,
                UnSelectedImagePath = "Item/NoFunction.png"
            };
            functionSceneBodyView.AddChidren(noFunction);
            var noFunctionTip = new Button()
            {
                Y=noFunction.Bottom,
                Height = Application.GetRealHeight(200),
                TextID = R.MyInternationalizationString.NoFunction,
                Text = Language.StringByID(R.MyInternationalizationString.NoFunction).Replace("{\\r\\n}","\r\n"),
                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                TextAlignment = TextAlignment.Center,
                Gravity = Gravity.Center
                IsMoreLines=true
            };
            functionSceneBodyView.AddChidren(noFunctionTip);
        }
@@ -1202,13 +1028,31 @@
            else
            {
                deviceVerticalScrolViewLayout = new VerticalScrolViewLayout { };
                functionSceneBodyView.AddChidren(deviceVerticalScrolViewLayout);
                foreach (var device in deviceList)
               for(int i=0;i<deviceList.Count;i++)
                {
                    int t = i % 2;
                    int tt = i / 2;
                    int xx = 43 + i % 2 * (20 + 487);
                    int yy = 14;
                    var device = deviceList[i];
                    if (device == null || device.CommonDevice == null)
                    {
                        continue;
                    }
                    if (i % 2 == 0)
                    {
                        itemView = new FrameLayout()
                        {
                            Height = Application.GetRealHeight(14 + 348),
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(itemView);
                    }
                    //删除设备
                    EventHandler<MouseEventArgs> delEvent = (sender, e) =>
                    {
@@ -1225,36 +1069,38 @@
                        };
                    };
                    //收藏
                    //EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
                    //{
                    //    if ((sender as Button).IsSelected)
                    //    {
                    //        Room.Lists[0].DeleteDevice(device.FilePath);
                    //        (sender as Button).IsSelected = false;
                    //        if (Room.CurrentRoom == Room.Lists[0])
                    //        {
                    //            DeviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag);
                    //        }
                    //    }
                    //    else
                    //    {
                    //        Room.Lists[0].AddDevice(device.FilePath);
                    //        (sender as Button).IsSelected = true;
                    //    }
                    //    //RefreshBodyView();
                    //};
                    EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
                    {
                        if (Room.CurrentRoom == Room.Lists[0])
                        if ((sender as Button).IsSelected)
                        {
                            Room.Lists[0].DeleteDevice(device.FileName);
                            deviceVerticalScrolViewLayout.RemoveViewByTag((sender as Button).Tag);
                            Shared.Common.Room.GetLoveRoom().DeleteDevice(device.FileName);
                            (sender as Button).IsSelected = false;
                        }
                        else
                        {
                            Shared.Common.Room.GetLoveRoom().AddDevice(device.FileName);
                            (sender as Button).IsSelected = true;
                        }
                        if (Room.CurrentRoom.IsLove)
                        {
                            RefreshBodyView();
                        }
                    };
                    //////判断设备是否支持的属性 如开关等控制
                    if (device.CommonDevice.Type == ZigBee.Device.DeviceType.WindowCoveringDevice)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("lightee");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //窗帘 卷帘
                        var rollerShade = (ZigBee.Device.Rollershade)device.CommonDevice;
                        //不上非远程
@@ -1603,6 +1449,7 @@
                    {
                        //开关灯
                        var light = device.CommonDevice as ToggleLight;
                        //补上非远程
                        if (light.Gateway == null)
                        {
@@ -1626,96 +1473,29 @@
                            }
                        }
                        var lightView = new FunctionMainView(xx,yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(CommonFormResouce.GetSwitchStatu(light.OnOffStatus==1));
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        lightView.IsSelected = light.OnOffStatus==1;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom,device.FileName));
                        var deviceFL = new FrameLayout
                        var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
                        if (dev == null)
                        {
                            Height = Application.GetRealHeight(deviceFL_Height),
                            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(deviceFL);
                        var deviceRowLayout = new RowLayout
                            lightView.CollectButton.IsSelected = false;
                        }
                        else
                        {
                            Y = Application.GetRealHeight(25),
                            Height = Application.GetRealHeight(deviceFL_Height - 25) - 1,
                            LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius,
                            Tag = device
                        };
                        deviceFL.AddChidren(deviceRowLayout);
                            lightView.CollectButton.IsSelected = true;
                        }
                        var deviceItemFL = new FrameLayout()
                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                        {
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius
                        };
                        deviceRowLayout.AddChidren(deviceItemFL);
                        var deviceIMG = new Button()
                        {
                            X = Application.GetRealWidth(50),
                            Y = Application.GetRealHeight(30),
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            UnSelectedImagePath = device.IconPath,
                            SelectedImagePath = device.OnlineIconPath,
                            IsSelected = light.IsOnline == 1,
                            Tag = deviceStatus_Online
                        };
                        deviceItemFL.AddChidren(deviceIMG);
                        var deviceName = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = deviceIMG.Bottom,
                            Width = Application.GetRealWidth(180),
                            Height = Application.GetRealHeight(80),
                            TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                            TextAlignment = TextAlignment.Center,
                            Text = device.CommonDevice.DeviceEpointName,
                            TextSize = 10,
                            IsMoreLines = true
                        };
                        deviceItemFL.AddChidren(deviceName);
                        var collectionBtn = new Button()
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(150),
                            Y = Application.GetRealHeight(20),
                            Width = Application.GetMinRealAverage(80),
                            Height = Application.GetMinRealAverage(80),
                            UnSelectedImagePath = "Item/Collection.png",
                            SelectedImagePath = "Item/CollectionSelected.png",
                            Tag = device
                        };
                        //***先隐藏******
                        //deviceItemFL.AddChidren(collectionBtn);
                        var switchBtnBG = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(250),
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtnBG);
                        var switchBtn = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(200),
                            //Y = deviceItemFL.Bottom - Application.GetRealHeight(120),
                            Width = Application.GetMinRealAverage(183),
                            Height = Application.GetMinRealAverage(123),
                            UnSelectedImagePath = "Item/Switch.png",
                            SelectedImagePath = "Item/SwitchSelected.png",
                            IsSelected = light.OnOffStatus == 1,
                            Tag = deviceStatus_OnOffStatus,
                            //Visible=false
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtn);
                        switchBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            switchBtn.IsSelected = !switchBtn.IsSelected;
                            if (switchBtn.IsSelected == true)
                            (sender as Button).IsSelected = !(sender as Button).IsSelected;
                            if ((sender as Button).IsSelected)
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
@@ -1724,8 +1504,11 @@
                                light.SwitchControl(1);
                                    //控制延时回调
                                    DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
@@ -1747,8 +1530,11 @@
                                light.SwitchControl(0);
                                    //控制延时回调
                                    DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
@@ -1763,31 +1549,7 @@
                            }
                        };
                        var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                        {
                            Tag = device,
                            IsMoreLines = true
                        };
                        if (Room.CurrentRoom.IsLove)
                        {
                            deleteBtn.TextID = R.MyInternationalizationString.CancelCollect;
                            deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor;
                            deleteBtn.MouseUpEventHandler += collectionEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        else if (Room.CurrentRoom.IsSharedRoom)
                        {
                            //不处理
                        }
                        else
                        {
                            deleteBtn.MouseUpEventHandler += delEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        EventHandler<MouseEventArgs> lightHandler = (sender, e) =>
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            var lightControl = new Phone.Device.Light.LightControl();
                            UserView.HomePage.Instance.AddChidren(lightControl);
@@ -1795,44 +1557,25 @@
                            lightControl.action = RefreshBodyView;
                            lightControl.Show(device, Room.CurrentRoom);
                        };
                        //deviceItemFL.MouseLongEventHandler += lightHandler;
                        deviceItemFL.MouseUpEventHandler += lightHandler;
                        deviceName.MouseUpEventHandler += lightHandler;
                        deviceIMG.MouseUpEventHandler += lightHandler;
                        //collectionBtn.MouseUpEventHandler += (sender, e) =>
                        //{
                        //    if (collectionBtn.IsSelected)
                        //    {
                        //        Room.Lists[0].DeleteDevice(device.FilePath);
                        //        collectionBtn.IsSelected = false;
                        //        if(Room.CurrentRoom==Room.Lists[0])
                        //        {
                        //            RefreshBodyView();
                        //        }
                        //    }
                        //    else
                        //    {
                        //        Room.Lists[0].AddDevice(device.FilePath);
                        //        collectionBtn.IsSelected = true;
                        //    }
                        //    //RefreshBodyView();
                        //};
                        collectionBtn.MouseUpEventHandler += collectionEvent;
                        //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath);
                        //if (dev == null)
                        //{
                        //    collectionBtn.IsSelected = false;
                        //}
                        //else
                        //{
                        //    collectionBtn.IsSelected = true;
                        //}
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.AirSwitch)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("airSwitch");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //空气开关
                        var airSwitch = device.CommonDevice as AirSwitch;
@@ -2063,6 +1806,18 @@
                    }
                    else if (device.CommonDevice.Type == ZigBee.Device.DeviceType.Thermostat)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("空调");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //恒温器-AC-空调
                        var ac = device.CommonDevice as AC;
@@ -2417,7 +2172,6 @@
                    {
                        //调光灯
                        var dimmableLight = device.CommonDevice as DimmableLight;
                        //补上非远程
                        if (dimmableLight.Gateway == null)
                        {
@@ -2430,7 +2184,6 @@
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                dimmableLight.ReadOnOffStatus();
                                dimmableLight.ReadLevel();
                            });
                        }
                        else
@@ -2440,189 +2193,86 @@
                            {
                                dimmableLight.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch);
                                dimmableLight.ReadOnOffStatus();
                                dimmableLight.ReadLevel();
                            }
                        }
                        var deviceFL = new FrameLayout
                        {
                            Height = Application.GetRealHeight(deviceFL_Height),
                            BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                            Tag = device
                        };
                        deviceVerticalScrolViewLayout.AddChidren(deviceFL);
                        var deviceRowLayout = new RowLayout
                        {
                            Y = Application.GetRealHeight(25),
                            Height = Application.GetRealHeight(deviceFL_Height - 25) - 1,
                            LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius,
                            Tag = device
                        };
                        deviceFL.AddChidren(deviceRowLayout);
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText(CommonFormResouce.GetSwitchStatu(dimmableLight.OnOffStatus == 1));
                        lightView.SetDeviceName(device.CommonDevice.DeviceEpointName);
                        lightView.IsSelected = dimmableLight.OnOffStatus == 1;
                        lightView.SetCollect(Room.CurrentRoom.IsCollectInRoom(Room.CurrentRoom, device.FileName));
                        var deviceItemFL = new FrameLayout()
                        var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FileName);
                        if (dev == null)
                        {
                            BackgroundColor = ZigbeeColor.Current.GXCTopViewBackgroundColor,
                            Radius = CommonPage.BigFormRadius
                        };
                        deviceRowLayout.AddChidren(deviceItemFL);
                        var deviceIMG = new Button()
                        {
                            X = Application.GetRealWidth(50),
                            Y = Application.GetRealHeight(30),
                            Width = Application.GetMinRealAverage(110),
                            Height = Application.GetMinRealAverage(110),
                            UnSelectedImagePath = device.IconPath,
                            SelectedImagePath = device.OnlineIconPath,
                            IsSelected = dimmableLight.IsOnline == 1,
                            Tag = deviceStatus_Online
                        };
                        deviceItemFL.AddChidren(deviceIMG);
                        var deviceName = new Button()
                        {
                            X = Application.GetRealWidth(10),
                            Y = deviceIMG.Bottom,
                            Width = Application.GetRealWidth(180),
                            Height = Application.GetRealHeight(80),
                            TextColor = ZigbeeColor.Current.GXCTextBlackColor,
                            TextAlignment = TextAlignment.Center,
                            Text = device.CommonDevice.DeviceEpointName,
                            TextSize = 10,
                            IsMoreLines = true
                        };
                        deviceItemFL.AddChidren(deviceName);
                        var levelSeekBar = new HorizontalSeekBar()
                        {
                            X = deviceIMG.Right + Application.GetRealWidth(50),
                            Width = Application.GetRealWidth(500),
                            Height = Application.GetRealHeight(80),
                            Gravity = Gravity.CenterVertical,
                            BackgroundColor = ZigbeeColor.Current.GXCSliderUnSelectedColor,
                            ThumbColor = ZigbeeColor.Current.GXCButtonBlueColor,
                            BorderColor = ZigbeeColor.Current.GXCButtonBlueColor,
                            ProgressColor = ZigbeeColor.Current.GXCButtonBlueColor,
                            Max = 254,
                            Tag = "LevelSeekBar",
                            Progress = dimmableLight.Level,
                            SleepTime = sleepSpan
                        };
                        deviceItemFL.AddChidren(levelSeekBar);
                        levelSeekBar.ProgressChanged += (send2, e2) =>
                        {
                            dimmableLight.SetLevel(levelSeekBar.Progress);
                        };
                        var collectionBtn = new Button()
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(150),
                            Y = Application.GetRealHeight(20),
                            Width = Application.GetMinRealAverage(80),
                            Height = Application.GetMinRealAverage(80),
                            UnSelectedImagePath = "Item/Collection.png",
                            SelectedImagePath = "Item/CollectionSelected.png",
                            Tag = device
                        };
                        //***先隐藏******
                        //deviceItemFL.AddChidren(collectionBtn);
                        var switchBtnBG = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(250),
                            Width = Application.GetMinRealAverage(250),
                            Height = Application.GetMinRealAverage(250),
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtnBG);
                        var switchBtn = new Button
                        {
                            X = deviceItemFL.Right - Application.GetRealWidth(200),
                            //Y = deviceItemFL.Bottom - Application.GetRealHeight(120),
                            Width = Application.GetMinRealAverage(183),
                            Height = Application.GetMinRealAverage(123),
                            UnSelectedImagePath = "Item/Switch.png",
                            SelectedImagePath = "Item/SwitchSelected.png",
                            IsSelected = dimmableLight.OnOffStatus == 1,
                            Tag = deviceStatus_OnOffStatus,
                            //Visible=false
                            Gravity = Gravity.CenterVertical
                        };
                        deviceItemFL.AddChidren(switchBtn);
                        switchBtn.MouseUpEventHandler += (send2, e2) =>
                        {
                            switchBtn.IsSelected = !switchBtn.IsSelected;
                            if (switchBtn.IsSelected == true)
                            {
                                    //zbGateway = device.CommonDevice.Gateway;
                                    //sendedControlCommand = false;
                                    //zbGateway.ReportAction += UpdateDeviceControllStatu;
                                    //AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                    dimmableLight.SwitchControl(1);
                                    //控制延时回调
                                    //DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                    //{
                                    //if (Parent == null)
                                    //{
                                    //    return;
                                    //}
                                    //RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    //if (sendedControlCommand == false)
                                    //{
                                    //    DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    //}
                                    //});
                                }
                            else
                            {
                                    //zbGateway = device.CommonDevice.Gateway;
                                    //sendedControlCommand = false;
                                    //zbGateway.ReportAction += UpdateDeviceControllStatu;
                                    //AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                    dimmableLight.SwitchControl(0);
                                    //控制延时回调
                                    //DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                    //{
                                    //    if (Parent == null)
                                    //    {
                                    //        return;
                                    //    }
                                    //    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    //    if (sendedControlCommand == false)
                                    //    {
                                    //        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    //    }
                                    //});
                                }
                        };
                        var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                        {
                            Tag = device,
                            IsMoreLines = true
                        };
                        if (Room.CurrentRoom.IsLove)
                        {
                            deleteBtn.TextID = R.MyInternationalizationString.CancelCollect;
                            deleteBtn.BackgroundColor = ZigbeeColor.Current.GXCCancelCollectionBGColor;
                            deleteBtn.MouseUpEventHandler += collectionEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                        }
                        else if (Room.CurrentRoom.IsSharedRoom)
                        {
                            //不处理
                            lightView.CollectButton.IsSelected = false;
                        }
                        else
                        {
                            deleteBtn.MouseUpEventHandler += delEvent;
                            deviceRowLayout.AddRightView(deleteBtn);
                            lightView.CollectButton.IsSelected = true;
                        }
                        EventHandler<MouseEventArgs> dimmableLightHandler = (sender, e) =>
                        lightView.SwitchButton.MouseUpEventHandler += (sender, e) =>
                        {
                            (sender as Button).IsSelected = !(sender as Button).IsSelected;
                            if ((sender as Button).IsSelected)
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
                                zbGateway.ReportAction += UpdateDeviceControllStatu;
                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                dimmableLight.SwitchControl(1);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(true));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = true;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            }
                            else
                            {
                                zbGateway = device.CommonDevice.Gateway;
                                sendedControlCommand = false;
                                zbGateway.ReportAction += UpdateDeviceControllStatu;
                                AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, device.CommonDevice);
                                dimmableLight.SwitchControl(0);
                                ((sender as Button).Parent as FunctionMainView).SetStatuText(CommonFormResouce.GetSwitchStatu(false));
                                ((sender as Button).Parent as FunctionMainView).IsSelected = false;
                                //控制延时回调
                                DeviceUI.SendCommandDelayAction(device.CommonDevice, () =>
                                {
                                    if (Parent == null)
                                    {
                                        return;
                                    }
                                    RemoveUpdateControlDeviceStatuAction(zbGateway);
                                    if (sendedControlCommand == false)
                                    {
                                        DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL);
                                    }
                                });
                            }
                        };
                        lightView.CardBG.MouseUpEventHandler += (sender, e) =>
                        {
                            var dimmableLightControl = new Phone.Device.Light.DimmableLightControl();
                            UserView.HomePage.Instance.AddChidren(dimmableLightControl);
@@ -2631,43 +2281,22 @@
                            dimmableLightControl.action = RefreshBodyView;
                            dimmableLightControl.Show(device, Room.CurrentRoom);
                        };
                        //deviceItemFL.MouseLongEventHandler += dimmableLightHandler;
                        deviceItemFL.MouseUpEventHandler += dimmableLightHandler;
                        deviceName.MouseUpEventHandler += dimmableLightHandler;
                        deviceIMG.MouseUpEventHandler += dimmableLightHandler;
                        //collectionBtn.MouseUpEventHandler += (sender, e) =>
                        //{
                        //    if (collectionBtn.IsSelected)
                        //    {
                        //        Room.Lists[0].DeleteDevice(device.FilePath);
                        //        collectionBtn.IsSelected = false;
                        //        if(Room.CurrentRoom==Room.Lists[0])
                        //        {
                        //            RefreshBodyView();
                        //        }
                        //    }
                        //    else
                        //    {
                        //        Room.Lists[0].AddDevice(device.FilePath);
                        //        collectionBtn.IsSelected = true;
                        //    }
                        //    //RefreshBodyView();
                        //};
                        collectionBtn.MouseUpEventHandler += collectionEvent;
                        //var dev = Room.LoveRoomDeviceUIFilePathList.Find((obj) => obj == device.FilePath);
                        //if (dev == null)
                        //{
                        //    collectionBtn.IsSelected = false;
                        //}
                        //else
                        //{
                        //    collectionBtn.IsSelected = true;
                        //}
                        lightView.CollectButton.MouseUpEventHandler += collectionEvent;
                    }
                    else if (device.CommonDevice.Type == DeviceType.OnOffSwitch)
                    {
                        var lightView = new FunctionMainView(xx, yy);
                        itemView.AddChidren(lightView);
                        lightView.Init();
                        lightView.SetDeviceImage(device.IconPath, device.OnlineIconPath);
                        lightView.SetStatuText("开");
                        lightView.SetDeviceName("按键");
                        //lightView.SetStatu(true);
                        lightView.IsSelected = true;
                        lightView.SetCollect(true);
                        continue;
                        //按键
                        var panel = (Panel)device.CommonDevice;
@@ -2686,13 +2315,22 @@
        /// </summary>
        private void ShowNoSceneTip()
        {
            var noScene = new Button
            {
                Y = Application.GetRealHeight(69),
                Width = Application.GetMinRealAverage(683),
                Height = Application.GetMinRealAverage(392),
                Gravity = Gravity.CenterHorizontal,
                UnSelectedImagePath = "Item/NoFunction.png"
            };
            functionSceneBodyView.AddChidren(noScene);
            var noScenceTip = new Button()
            {
                Y=noScene.Bottom,
                Height = Application.GetRealHeight(200),
                TextID = R.MyInternationalizationString.NoScene,
                Text =Language.StringByID(R.MyInternationalizationString.NoScene).Replace("{\\r\\n}","\r\n"),
                TextColor = ZigbeeColor.Current.GXCPlaceHolderTextColor,
                TextAlignment = TextAlignment.Center,
                Gravity = Gravity.Center,
                IsMoreLines=true
            };
            functionSceneBodyView.AddChidren(noScenceTip);
        }
@@ -2716,81 +2354,66 @@
            {
                var sceneScrolView = new VerticalScrolViewLayout { };
                functionSceneBodyView.AddChidren(sceneScrolView);
                foreach (var scene in sceneList)
                for(int i=0;i<sceneList.Count;i++)
                {
                    var scene = sceneList[i];
                    int xx = 43 + i % 2 * (20 + 487);
                    int yy = 14;
                    if (scene == null)
                    {
                        continue;
                    }
                    var sceneFL = new FrameLayout()
                    if (i % 2 == 0)
                    {
                        Height = Application.GetRealHeight(400),
                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                        Tag = scene
                    };
                    sceneScrolView.AddChidren(sceneFL);
                    var sceneRowLayout = new RowLayout()
                    {
                        Y = Application.GetRealHeight(30),
                        Height = Application.GetRealHeight(400 - 10 - 30),
                        LineColor = ZigbeeColor.Current.GXCBackgroundColor,
                        Radius = CommonPage.BigFormRadius
                    };
                    sceneFL.AddChidren(sceneRowLayout);
                    var sceneItemFL = new FrameLayout()
                    {
                        BackgroundColor = ZigbeeColor.Current.GXCBackgroundColor,
                        Radius = CommonPage.BigFormRadius
                    };
                    sceneRowLayout.AddChidren(sceneItemFL);
                    var sceneImg = new Button()
                    {
                        UnSelectedImagePath = scene.IconPath,
                        Radius = CommonPage.BigFormRadius
                    };
                    sceneItemFL.AddChidren(sceneImg);
                    var hardBlackBG = new Button()
                    {
                        BackgroundColor = ZigbeeColor.Current.GXCBlack70Color,
                        SelectedBackgroundColor = ZigbeeColor.Current.GXCBlack80Color,
                        Radius = CommonPage.BigFormRadius
                    };
                    sceneItemFL.AddChidren(hardBlackBG);
                    var sceneNameBtn = new Button()
                    {
                        Text = scene.Name,
                        TextColor = ZigbeeColor.Current.GXCTextWhiteColor,
                        TextSize = 20
                    };
                    sceneItemFL.AddChidren(sceneNameBtn);
                    //编辑
                    var editBtn = new Device.CommonForm.RowLayoutEditButton
                    {
                        TextID = R.MyInternationalizationString.Edit,
                        Tag = scene
                    };
                    //删除
                    var deleteBtn = new Device.CommonForm.RowLayoutDeleteButton
                    {
                        Tag = scene
                    };
                    if (!Room.CurrentRoom.IsSharedRoom)
                    {
                        sceneRowLayout.AddRightView(editBtn);
                        sceneRowLayout.AddRightView(deleteBtn);
                        itemView = new FrameLayout()
                        {
                            Height = Application.GetRealHeight(14 + 348),
                            Tag = scene
                        };
                        sceneScrolView.AddChidren(itemView);
                    }
                    EventHandler<MouseEventArgs> sceneDownHandler = (sender, e) =>
                    var sceneView = new SceneMainView(xx, yy);
                    itemView.AddChidren(sceneView);
                    sceneView.Init();
                    sceneView.SetSceneNameText(scene.Name);
                    sceneView.SetIcon($"SceneIcon/{i}.png");
                    sceneView.SetCollect(scene.IsCollected);
                    if (scene.SceneDelayTime == 0)
                    {
                        hardBlackBG.IsSelected = true;
                        sceneView.SetTimeImage();
                    }
                    else
                    {
                        sceneView.SetTimeText(scene.SceneDelayTime.ToString());
                    }
                    sceneView.TimeButton.MouseUpEventHandler += (sender, e) =>
                    {
                        var timeSelect = new SelectTime();
                        CommonPage.Instance.AddChidren(timeSelect);
                        timeSelect.TempTime = scene.DelayTime;
                        timeSelect.Init();
                        timeSelect.TimeAction = (t) =>
                        {
                            scene.SceneDelayTime = t;
                            if(t>0)
                            {
                                sceneView.SetTimeText(CommonFormResouce.GetTimeString(scene.SceneDelayTime));
                            }
                            else
                            {
                                sceneView.SetTimeImage();
                            }
                        };
                    };
                    sceneNameBtn.MouseDownEventHandler += sceneDownHandler;
                    hardBlackBG.MouseDownEventHandler += sceneDownHandler;
                    //调用场景
                    EventHandler<MouseEventArgs> sceneUpHandler = async (sender, e) =>
                    {
                        hardBlackBG.IsSelected = false;
                            //1成功 0失败
                            //后面补上相关提示
                            // Error参数含义
@@ -2799,7 +2422,7 @@
                            //<para>3:操作设备/组/场景不存在</para>
                            //<para>4:其他错误</para>
                            //<para>5:数据传输错误(在某次客户端向网关发送数据的过程中,网关在合理时间范围内接收客户端数据不完整导致该错误发生。如客户端向网关一次发送100个字节的数据,但网关等待接收了一秒只接收了80个字节。发生该错误,网关将主动关闭客户端连接)</para>
                            var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, 0);
                            var sceneOpenAllData = await ZigBee.Device.Scene.ControlSceneAsync(scene.Id, scene.SceneDelayTime);
                        if (sceneOpenAllData == null || sceneOpenAllData.sceneOpenData == null)
                        {
                            return;
@@ -2813,54 +2436,32 @@
                            CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.ControlSceneFail);
                        }
                    };
                    sceneNameBtn.MouseUpEventHandler += sceneUpHandler;
                    hardBlackBG.MouseUpEventHandler += sceneUpHandler;
                    //编辑场景
                    EventHandler<MouseEventArgs> editEvent = (sender, e) =>
                    //收藏
                    EventHandler<MouseEventArgs> collectionEvent = (sender, e) =>
                    {
                        SceneRoomUI.EditScene(scene, Room.CurrentRoom);
                    };
                    editBtn.MouseUpEventHandler += editEvent;
                    //删除场景
                    EventHandler<MouseEventArgs> delEvent = (sender, e) =>
                    {
                        var alert = new Alert(Language.StringByID(R.MyInternationalizationString.TIP), Language.StringByID(R.MyInternationalizationString.ConfirmDelete), Language.StringByID(R.MyInternationalizationString.Cancel), Language.StringByID(R.MyInternationalizationString.Confrim));
                        alert.Show();
                        alert.ResultEventHandler += async (send1, e1) =>
                        if ((sender as Button).IsSelected)
                        {
                            if (e1)
                            {
                                    //0 移除失败 1 移除成功 2 没有该场景
                                    var removeSceneAllData = await ZigBee.Device.Scene.DeleteSceneAsync(scene.Id);
                                if (removeSceneAllData == null || removeSceneAllData.removeSceneData == null)
                                {
                                    return;
                                }
                                if (removeSceneAllData.removeSceneData.Result == 1)
                                {
                                        //1成功
                                        Room.CurrentRoom.RemoveScene(scene);
                                        //RefreshBodyView();
                                        sceneScrolView.RemoveViewByTag((sender as Button).Tag);
                                }
                                else if (removeSceneAllData.removeSceneData.Result == 0)
                                {
                                        //0 移除失败
                                        CommonPage.Instance.ShowErrorInfoAlert(R.MyInternationalizationString.DeleteSceneFail);
                                }
                                else if (removeSceneAllData.removeSceneData.Result == 2)
                                {
                                        //2 没有该场景
                                        Room.CurrentRoom.RemoveScene(scene);
                                        //RefreshBodyView();
                                        sceneScrolView.RemoveViewByTag((sender as Button).Tag);
                                }
                            }
                        };
                            scene.Collect(false);
                            (sender as Button).IsSelected = false;
                        }
                        else
                        {
                            scene.Collect(true);
                            (sender as Button).IsSelected = true;
                        }
                        scene.Save();
                        //if (Room.CurrentRoom.IsLove)
                        //{
                        //    RefreshBodyView();
                        //}
                    };
                    deleteBtn.MouseUpEventHandler += delEvent;
                    sceneView.CollectButton.MouseUpEventHandler += collectionEvent;
                    sceneView.MouseUpEventHandler += sceneUpHandler;
                    sceneView.SceneIcon.MouseUpEventHandler+= sceneUpHandler;
                    sceneView.SceneNameButton.MouseUpEventHandler += sceneUpHandler;
                }
            }