| | |
| | | /// <summary> |
| | | /// 加载功能收藏按钮事件 |
| | | /// </summary> |
| | | void LoadCollectionEvent() |
| | | void LoadEvent_FunctionCollection() |
| | | { |
| | | btnCollectionIcon.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | btnCollectionIcon.IsSelected = function.collection = !btnCollectionIcon.IsSelected; |
| | | DB_ResidenceData.residenceData.SaveResidenceData(); |
| | | }; |
| | | } |
| | | /// <summary> |
| | | /// 加载场景控制事件 |
| | | /// </summary> |
| | | void LoadEvent_ControlScene() |
| | | { |
| | | EventHandler<MouseEventArgs> upEvent = (sender, e) => { |
| | | Control.Send(function); |
| | | string msg = function.name + Language.StringByID(StringId.AlreadyOpened); |
| | | new PublicAssmebly().TipMsgAutoClose(msg, false); |
| | | }; |
| | | btnName.MouseUpEventHandler = upEvent; |
| | | btnFromFloor.MouseUpEventHandler = upEvent; |
| | | bodyDiv.MouseUpEventHandler = upEvent; |
| | | } |
| | | |
| | | /// <summary> |
| | | /// 开关事件 |
| | | /// </summary> |
| | | void LoadEvent_SwitchFunction(Button btnSwitch) |
| | | { |
| | | btnSwitch.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | function.on_off = btnSwitch.IsSelected ? "on" : "off"; |
| | | Control.Send(CommandType_A.write, function); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | }; |
| | | } |
| | | #region 灯光的事件列表 |
| | |
| | | btnSwitch.IsSelected = !btnSwitch.IsSelected; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | if (function.functionCategory == FunctionType.Light) |
| | | if (function.functionCategory == FunctionCategory.Light) |
| | | { |
| | | var light = function as Light; |
| | | light.on_off = btnSwitch.IsSelected ? 1 : 0; |
| | | Control.Send("write", function); |
| | | light.on_off = btnSwitch.IsSelected ? "on" : "off"; |
| | | Control.Send(CommandType_A.write, function); |
| | | } |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | |
| | | /// </summary> |
| | | void LoadEvent_LightDimming(DiyImageSeekBar dimmerControlBar) |
| | | { |
| | | if (function.functionType == "Dimmer" || function.functionType == "RGB") |
| | | //if (function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) |
| | | //{ |
| | | // if (dimmerControlBar == null) |
| | | // return; |
| | | // var light = function as Light; |
| | | // dimmerControlBar.OnProgressChangedEvent += (sender, e) => |
| | | // { |
| | | // if ((DateTime.Now - light.refreshTime).TotalMilliseconds > 200)//调光命令发送间隔事件 |
| | | // { |
| | | // new System.Threading.Thread(() => |
| | | // { |
| | | // light.refreshTime = DateTime.Now; |
| | | // light.brightness = e; |
| | | // Control.Send(CommandType_A.write, function); |
| | | // }) |
| | | // { IsBackground = true }.Start(); |
| | | // } |
| | | // }; |
| | | // dimmerControlBar.OnStopTrackingTouchEvent += (sender, e) => |
| | | // { |
| | | // light.brightness = dimmerControlBar.Progress; |
| | | // Control.Send(CommandType_A.write, function); |
| | | // }; |
| | | //} |
| | | if(function.functionType == FunctionType.Dimmer || function.functionType == FunctionType.RGB) |
| | | { |
| | | if (dimmerControlBar == null) |
| | | return; |
| | | |
| | | var light = function as Light; |
| | | dimmerControlBar.OnProgressChangedEvent += (sender, e) => |
| | | { |
| | | dimmerControlBar.Tag = DateTime.Now; |
| | | if ((DateTime.Now - (DateTime)(dimmerControlBar.Tag)).TotalMilliseconds < 200)//调光命令发送间隔事件 |
| | | dimmerControlBar.OnStartTrackingTouchEvent = (sender, e) => { |
| | | onDimmerBar = true; |
| | | }; |
| | | dimmerControlBar.OnStopTrackingTouchEvent = (sender, e) => { |
| | | onDimmerBar = false; |
| | | light.brightness = dimmerControlBar.Progress; |
| | | Control.Send(CommandType_A.write, light); |
| | | }; |
| | | dimmerControlBar.OnProgressChangedEvent = (sender, e) => { |
| | | light.brightness = e; |
| | | light.on_off = e > 0 ? "on" : "off"; |
| | | |
| | | if (e == 0 || e == 100) |
| | | { |
| | | new System.Threading.Thread(() => |
| | | Control.Send(CommandType_A.write, light); |
| | | } |
| | | else |
| | | { |
| | | if (200 < (DateTime.Now - light.refreshTime).TotalMilliseconds) |
| | | { |
| | | light.brightness = e; |
| | | Control.Send("write", function); |
| | | dimmerControlBar.Tag = DateTime.Now; |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | light.refreshTime = DateTime.Now; |
| | | new System.Threading.Thread(() => |
| | | { |
| | | Control.Send(CommandType_A.write, light); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | } |
| | | else |
| | | { |
| | | MainPage.Log("skip dimmer control!!"); |
| | | } |
| | | } |
| | | }; |
| | | dimmerControlBar.MouseUpEventHandler += (sender, e) => |
| | | { |
| | | light.brightness = dimmerControlBar.Progress; |
| | | Control.Send("write", function); |
| | | }; |
| | | |
| | | } |
| | | |
| | | } |
| | | #endregion |
| | | |
| | | |
| | | #region 窗帘的事件列表 |
| | | /// <summary> |
| | | /// 加载窗帘控制事件 |
| | | /// </summary> |
| | | /// <param name="btnStop"></param> |
| | | /// <param name="btnOpen"></param> |
| | | /// <param name="btnClose"></param> |
| | | void LoadEvent_ControlCurtain(Button btnStop, Button btnOpen, Button btnClose, Curtain curtain) |
| | | { |
| | | btnClose.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnClose.IsSelected = true; |
| | | btnStop.IsSelected = false; |
| | | btnOpen.IsSelected = false; |
| | | curtain.on_off = "off"; |
| | | Control.Send(CommandType_A.write, curtain); |
| | | }; |
| | | |
| | | btnStop.MouseDownEventHandler = (sender, e) => |
| | | { |
| | | btnStop.IsSelected = true; |
| | | btnClose.IsSelected = false; |
| | | btnOpen.IsSelected = false; |
| | | }; |
| | | btnStop.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnOpen.IsSelected = true; |
| | | btnClose.IsSelected = false; |
| | | btnStop.IsSelected = false; |
| | | curtain.on_off = "stop"; |
| | | Control.Send(CommandType_A.write, curtain); |
| | | }; |
| | | |
| | | btnOpen.MouseUpEventHandler = (sender, e) => |
| | | { |
| | | btnOpen.IsSelected = true; |
| | | btnClose.IsSelected = false; |
| | | btnStop.IsSelected = false; |
| | | curtain.on_off = "on"; |
| | | Control.Send(CommandType_A.write, curtain); |
| | | }; |
| | | } |
| | | #endregion |
| | | |
| | | #region 空调事件 |
| | | #endregion |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | void LoadEvent_DivSkipEvent() |
| | | { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | //跳转到功能信息设置页面 |
| | | switch (function.functionType) |
| | | { |
| | | case "Relay": |
| | | var relayView = new RelayPage(function as Light); |
| | | MainPage.BasePageView.AddChidren(relayView); |
| | | relayView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | case "RGB": |
| | | var rgbView = new RGBPage(function as Light); |
| | | MainPage.BasePageView.AddChidren(rgbView); |
| | | rgbView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | case "Dimmer": |
| | | var dimmerView = new DimmerPage(function as Light); |
| | | MainPage.BasePageView.AddChidren(dimmerView); |
| | | dimmerView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | case "MotorCurtain": |
| | | var skinView = new MotorCurtainPage(function); |
| | | MainPage.BasePageView.AddChidren(skinView); |
| | | skinView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | case "Curtain": |
| | | var curtainView = new CurtainModulePage(function); |
| | | MainPage.BasePageView.AddChidren(curtainView); |
| | | curtainView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | case "AC": |
| | | var acView = new ACPage(function); |
| | | MainPage.BasePageView.AddChidren(acView); |
| | | acView.LoadPage(btnCollectionIcon, btnName, btnFromFloor); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | break; |
| | | } |
| | | }; |
| | | var eventHandler = new PublicAssmebly().LoadEvent_SkipFunctionControlPage(function, btnCollectionIcon, btnName, btnFromFloor); |
| | | this.MouseUpEventHandler = eventHandler; |
| | | } |
| | | |
| | | |
| | | } |
| | | } |