From 96c686f89f126ad4cf1e262b83301fb7cc8bf2d5 Mon Sep 17 00:00:00 2001 From: gxc <guoxuecheng@guoxuechengdeMacBook-Pro.local> Date: 星期四, 07 十一月 2019 10:57:31 +0800 Subject: [PATCH] 2019.11.7 --- ZigbeeApp/Shared/Phone/Device/Category/Category.cs | 433 +++++++++++++++++++++++------------------------------ 1 files changed, 190 insertions(+), 243 deletions(-) diff --git a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs index 4405a9a..64f7bda 100644 --- a/ZigbeeApp/Shared/Phone/Device/Category/Category.cs +++ b/ZigbeeApp/Shared/Phone/Device/Category/Category.cs @@ -162,118 +162,87 @@ { case DeviceType.OnOffOutput: //寮�鍏冲姛鑳� - if ((common as ToggleLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var light = deviceUI.CommonDevice as ToggleLight; - light.DeviceStatusReport = (common as ToggleLight).DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + light.DeviceStatusReport = common.DeviceStatusReport; + //璁板綍銆佹洿鏂扮姸鎬� + if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - //璁板綍銆佹洿鏂扮姸鎬� - if (light.DeviceStatusReport.AttriBute == null || light.DeviceStatusReport.AttriBute.Count == 0) - { - continue; - } - light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = light.OnOffStatus == 1; - //璁板綍鍥炲鏃堕棿 - light.LastDateTime = DateTime.Now; - } + continue; } - } - if ((common as ToggleLight).DeviceStatusReport.CluterID == 3) - { - var light = deviceUI.CommonDevice as ToggleLight; - light.IsOnline = 1; + light.OnOffStatus = light.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + + row.SetStatu(light.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); //璁板綍鍥炲鏃堕棿 light.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = light.IsOnline == 1; - } - } + } + if (common.DeviceStatusReport.CluterID == 3) + { + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; case DeviceType.AirSwitch: //寮�鍏冲姛鑳� - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.DeviceStatusReport = (common as ZigBee.Device.AirSwitch).DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + airSwitch.DeviceStatusReport = common.DeviceStatusReport; + //璁板綍銆佹洿鏂扮姸鎬� + if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_OnOffStatus) - { - //璁板綍銆佹洿鏂扮姸鎬� - if (airSwitch.DeviceStatusReport.AttriBute == null || airSwitch.DeviceStatusReport.AttriBute.Count == 0) - { - return; - } - airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; - (tempView as Button).IsSelected = airSwitch.OnOffStatus == 1; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - } + return; } - } - if ((common as ZigBee.Device.AirSwitch).DeviceStatusReport.CluterID == 3) - { - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = 1; + airSwitch.OnOffStatus = airSwitch.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(airSwitch.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); //璁板綍鍥炲鏃堕棿 airSwitch.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = airSwitch.IsOnline == 1; - } - } + } + if (common.DeviceStatusReport.CluterID == 3) + { + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; case DeviceType.WindowCoveringDevice: - if ((common as Rollershade).DeviceStatusReport.CluterID == 3) + + if (common.DeviceStatusReport.CluterID == 258) { - var rollerShape = deviceUI.CommonDevice as Rollershade; - //璁板綍鍥炲鏃堕棿 - rollerShape.LastDateTime = DateTime.Now; - rollerShape.IsOnline = 1; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + if (common.DeviceStatusReport.AttriBute[0].AttributeId == 0) { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = rollerShape.IsOnline == 1; - } + //绐楀笜绫诲瀷 + var rollerShade = deviceUI.CommonDevice as Rollershade; + rollerShade.DeviceStatusReport = common.DeviceStatusReport; + rollerShade.WcdType = common.DeviceStatusReport.AttriBute[0].AttriButeData; + rollerShade.LastDateTime = DateTime.Now; } + if (common.DeviceStatusReport.AttriBute[0].AttributeId == 8) + { + var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + //绐楀笜鐧惧垎姣� + var rollerShade = deviceUI.CommonDevice as Rollershade; + rollerShade.DeviceStatusReport = common.DeviceStatusReport; + rollerShade.WcdCurrentPositionLiftPercentage = common.DeviceStatusReport.AttriBute[0].AttriButeData; + row.SetStatuText($"{Language.StringByID(R.MyInternationalizationString.Current)} { deviceUI.GetDeviceStatu()}"); + rollerShade.LastDateTime = DateTime.Now; + } + } + if (common.DeviceStatusReport.CluterID == 3) + { + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + row.SetStatu(true); } break; @@ -358,49 +327,29 @@ break; case DeviceType.DimmableLight: //璋冨厜鐏姛鑳� - if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 6) + if (common.DeviceStatusReport.CluterID == 6) { - var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; - dimmableLight.DeviceStatusReport = (common as ZigBee.Device.DimmableLight).DeviceStatusReport; - for (int j = 0; j < rowLayout.ChildrenCount; j++) + var dimmableLight = deviceUI.CommonDevice as DimmableLight; + dimmableLight.DeviceStatusReport = common.DeviceStatusReport; + //璁板綍銆佹洿鏂扮姸鎬� + if (dimmableLight.DeviceStatusReport.AttriBute == null || dimmableLight.DeviceStatusReport.AttriBute.Count == 0) { - var tempView = rowLayout.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; - } + continue; } - } - if ((common as ZigBee.Device.DimmableLight).DeviceStatusReport.CluterID == 3) - { - var dimmableLight = deviceUI.CommonDevice as ZigBee.Device.DimmableLight; - dimmableLight.IsOnline = 1; + dimmableLight.OnOffStatus = dimmableLight.DeviceStatusReport.AttriBute[0].AttriButeData; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + + row.SetStatu(dimmableLight.OnOffStatus == 1); + row.SetStatuText(deviceUI.GetDeviceStatu()); //璁板綍鍥炲鏃堕棿 dimmableLight.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = dimmableLight.IsOnline == 1; - } - } + } + if (common.DeviceStatusReport.CluterID == 3) + { + deviceUI.CommonDevice.IsOnline = 1; + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(true); } break; } @@ -433,77 +382,35 @@ switch (deviceUI.CommonDevice.Type) { case DeviceType.OnOffOutput: - var light = deviceUI.CommonDevice as ToggleLight; - light.IsOnline = (common as ToggleLight).IsOnline; - //璁板綍鍥炲鏃堕棿 - light.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = light.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row = rowLayout.GetChildren(0) as CategoryFunctionRow; + row.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; case DeviceType.AirSwitch: - var airSwitch = deviceUI.CommonDevice as ZigBee.Device.AirSwitch; - airSwitch.IsOnline = (common as ZigBee.Device.AirSwitch).IsOnline; - //璁板綍鍥炲鏃堕棿 - airSwitch.LastDateTime = DateTime.Now; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = airSwitch.IsOnline == 1; - } - } + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row1 = rowLayout.GetChildren(0) as CategoryFunctionRow; + row1.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + deviceUI.CommonDevice.LastDateTime = DateTime.Now; break; case DeviceType.WindowCoveringDevice: - var rollerShape = deviceUI.CommonDevice as Rollershade; - //璁板綍鍥炲鏃堕棿 - rollerShape.LastDateTime = DateTime.Now; - rollerShape.IsOnline = (common as Rollershade).IsOnline; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = rollerShape.IsOnline == 1; - } - } + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row2 = rowLayout.GetChildren(0) as CategoryFunctionForWinRow; + row2.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; + case DeviceType.DimmableLight: + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + var row3 = rowLayout.GetChildren(0) as CategoryFunctionRow; + row3.SetStatu(deviceUI.CommonDevice.IsOnline == 1); + break; case DeviceType.Thermostat: - var ac = deviceUI.CommonDevice as ZigBee.Device.AC; - //璁板綍鍥炲鏃堕棿 - ac.LastDateTime = DateTime.Now; - ac.IsOnline = (common as ZigBee.Device.AC).IsOnline; - for (int j = 0; j < rowLayout.ChildrenCount; j++) - { - var tempView = rowLayout.GetChildren(j); - if (tempView.Tag == null) - { - continue; - } - if (tempView.Tag.ToString() == deviceStatus_Online) - { - (tempView as Button).IsSelected = ac.IsOnline == 1; - } - } + deviceUI.CommonDevice.LastDateTime = DateTime.Now; + deviceUI.CommonDevice.IsOnline = common.IsOnline; + //var row4 = rowLayout.GetChildren(0) as CategoryFunctionRow; + //row4.SetStatu(deviceUI.CommonDevice.IsOnline == 1); break; } } @@ -802,6 +709,15 @@ UserView.HomePage.Instance.PageIndex += 1; addLogicPage.Show(); } + /// <summary> + /// HidenFloor + /// </summary> + /// <param name="statu"></param> + private void HidenFloor(bool statu) + { + selectFloorBtn.Visible = !statu; + floorBtn.Visible = !statu; + } #endregion @@ -814,14 +730,17 @@ functionSceneAutoBodyView.RemoveAll(); if (functionBtn.IsSelected) { + HidenFloor(false); ShowFunction(); } else if (sceneBtn.IsSelected) { + HidenFloor(false); ShowScene(); } else if (automationBtn.IsSelected) { + HidenFloor(true); ShowAutotion(); } } @@ -994,8 +913,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(light.IsOnline == 1); - deviceRow.SetZoneText(deviceUI.GetZone()); + deviceRow.SetOnLineStatu(light.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(light.OnOffStatus == 1); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1014,6 +934,7 @@ { light.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1031,11 +952,30 @@ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - var lightControl = new Phone.Device.Light.LightControl(); - UserView.HomePage.Instance.AddChidren(lightControl); - UserView.HomePage.Instance.PageIndex += 1; - lightControl.action = RefreshBodyView; - lightControl.Show(deviceUI, room); + if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A寮�鍏�) + { + var lightControl = new Phone.Device.Light.OnOffControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } + else if (deviceUI.CommonDevice.DfunctionType == DeviceFunctionType.A鎻掑骇) + { + var lightControl = new Phone.Device.Light.PlugControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } + else + { + var lightControl = new Phone.Device.Light.LightControl(); + UserView.HomePage.Instance.AddChidren(lightControl); + UserView.HomePage.Instance.PageIndex += 1; + //lightControl.action = RefreshBodyView; + lightControl.Show(deviceUI, room); + } }; var editBtn = new CommonForm.RowLayoutEditButton() @@ -1082,7 +1022,7 @@ var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), + Height = Application.GetRealHeight(129 + 35), LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; @@ -1091,8 +1031,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(airSwitch.IsOnline == 1); - deviceRow.SetZoneText(deviceUI.GetZone()); + deviceRow.SetOnLineStatu(airSwitch.IsOnline == 1); + deviceRow.SetStatu(airSwitch.OnOffStatus == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1111,6 +1052,7 @@ { airSwitch.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1128,10 +1070,11 @@ deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - var lightControl = new Phone.Device.Light.LightControl(); + + var lightControl = new Phone.Device.Light.AirSwitchControl(); UserView.HomePage.Instance.AddChidren(lightControl); UserView.HomePage.Instance.PageIndex += 1; - lightControl.action = RefreshBodyView; + //lightControl.action = RefreshBodyView; lightControl.Show(deviceUI, room); }; @@ -1190,8 +1133,9 @@ var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(dimmableLight.IsOnline == 1); - deviceRow.SetZoneText(deviceUI.GetZone()); + deviceRow.SetOnLineStatu(dimmableLight.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(dimmableLight.OnOffStatus == 1); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1210,6 +1154,7 @@ { dimmableLight.SwitchControl(0); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1231,7 +1176,7 @@ UserView.HomePage.Instance.AddChidren(dimmableLightControl); UserView.HomePage.Instance.PageIndex += 1; UserView.HomePage.Instance.ScrollEnabled = false; - dimmableLightControl.action = RefreshBodyView; + //dimmableLightControl.action = RefreshBodyView; dimmableLightControl.Show(deviceUI, room); }; @@ -1296,10 +1241,12 @@ }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); + var deviceRow = new CategoryFunctionRow(0, 35); deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(ac.IsOnline == 1); + deviceRow.SetOnLineStatu(ac.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(ac.currentSystemMode != 1); deviceTypeRowLayout.AddChidren(deviceRow); deviceRow.SwitchBtn.MouseUpEventHandler += (send2, e2) => @@ -1318,6 +1265,7 @@ { ac.Close(); } + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); //鎺у埗寤舵椂鍥炶皟 DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => { @@ -1363,6 +1311,7 @@ UserHomeView.ReadStatus(rollerShade, () => { rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + rollerShade.ReadWcdCurrentPositionLiftPercentage(); }); } else @@ -1371,23 +1320,44 @@ if ((DateTime.Now - rollerShade.LastDateTime).TotalSeconds > CommonPage.ReadDeviceStatuSpan) { rollerShade.ReadAttri(Cluster_ID.Identify, AttriButeId.Switch); + rollerShade.ReadWcdCurrentPositionLiftPercentage(); } } var deviceTypeRowLayout = new RowLayout() { - Height = Application.GetRealHeight(127 + 35), - LineColor = ZigbeeColor.Current.GXCLineColor, + Height = Application.GetRealHeight(129 + 35), + LineColor = ZigbeeColor.Current.GXCBackgroundColor, Tag = deviceUI }; deviceListScrolView.AddChidren(deviceTypeRowLayout); - var deviceRow = new FunctionRow(0, 35); - deviceRow.Init(deviceUI.IconPath, deviceUI.OnlineIconPath); + var deviceRow = new CategoryFunctionForWinRow(0, 35); + deviceRow.Init(deviceUI); deviceRow.SetTitle(deviceUI.CommonDevice.DeviceEpointName); - deviceRow.SetStatu(rollerShade.IsOnline == 1); + deviceRow.SetOnLineStatu(rollerShade.IsOnline == 1); + deviceRow.SetStatuText(deviceUI.GetDeviceStatu()); + deviceRow.SetStatu(rollerShade.WcdCurrentPositionLiftPercentage != 0); + deviceRow.SetRollerShadeIcon(rollerShade.WcdType); deviceTypeRowLayout.AddChidren(deviceRow); + + if (rollerShade.WcdType == -1) + { + CommonPage.Loading.Start(); + new System.Threading.Thread(() => + { + Rollershade.ReadWcdTypeAction(rollerShade, () => + { + Application.RunOnMainThread(() => + { + deviceRow.SetRollerShadeIcon(rollerShade.WcdType); + CommonPage.Loading.Hide(); + }); + }); + }) + { IsBackground = true }.Start(); + } var editBtn = new CommonForm.RowLayoutEditButton() { @@ -1405,37 +1375,14 @@ deviceTypeRowLayout.AddRightView(delBtn); delBtn.MouseUpEventHandler += delEvent; - - deviceRow.SwitchBtn.MouseUpEventHandler += (sender, e) => + deviceRow.ClickBtn.MouseUpEventHandler += (send2, e2) => { - zbGateway = deviceUI.CommonDevice.Gateway; - sendedControlCommand = false; - zbGateway.ReportAction += UpdateDeviceControllStatu; - AddZbGateway(zbGatewayList, zbGateway, commonDeviceList, deviceUI.CommonDevice); - - (sender as CommonForm.SelectedStatuButton).IsSelected = !(sender as CommonForm.SelectedStatuButton).IsSelected; - if ((sender as CommonForm.SelectedStatuButton).IsSelected) - { - rollerShade.CurtainUpDownStopControl(0); - } - else - { - rollerShade.CurtainUpDownStopControl(1); - } - - //鎺у埗寤舵椂鍥炶皟 - DeviceUI.SendCommandDelayAction(deviceUI.CommonDevice, () => - { - if (Parent == null) - { - return; - } - RemoveUpdateControlDeviceStatuAction(zbGateway); - if (sendedControlCommand == false) - { - DeviceUI.ShowStatuTip(R.MyInternationalizationString.FAIL); - } - }); + var rollerShadeControl = new Phone.Device.Curtain.RollerShadeControl(); + UserView.HomePage.Instance.AddChidren(rollerShadeControl); + UserView.HomePage.Instance.PageIndex += 1; + UserView.HomePage.Instance.ScrollEnabled = false; + //rollerShadeControl.action = RefreshBodyView; + rollerShadeControl.Show(deviceUI, room); }; } else -- Gitblit v1.8.0