using System; using HDL_ON.Entity; using Shared; namespace HDL_ON.UI { public partial class MotorCurtainPage { /// /// 更新窗帘 /// /// public static void UpdataState(Curtain uCurtain) { Application.RunOnMainThread(() => { if (bodyView == null) return; if (uCurtain.functionType == bodyView.curtain.functionType && uCurtain.sid == bodyView.curtain.sid) { if (uCurtain.trait_on_off.value.ToString() == "stop") { bodyView.btnCurtainOpen.IsSelected = true; bodyView.btnCurtainClose.IsSelected = false; bodyView.btnCurtainStop.IsSelected = false; } else if (uCurtain.trait_on_off.value.ToString() == "on") { bodyView.btnCurtainOpen.IsSelected = true; bodyView.btnCurtainClose.IsSelected = false; bodyView.btnCurtainStop.IsSelected = false; } else if (uCurtain.trait_on_off.value.ToString() == "off") { bodyView.btnCurtainOpen.IsSelected = false; bodyView.btnCurtainClose.IsSelected = true; bodyView.btnCurtainStop.IsSelected = false; } if ((DateTime.Now - uCurtain.refreshTime).TotalMilliseconds > 300) { bodyView.controlBar.Progress = bodyView.curtainSeekBar.Progress = Convert.ToInt32(uCurtain.percent); } } }); } /// /// 加载事件列表 /// void LoadEventList() { LoadEvent_ControlEvent(); LoadCollectionEvent(); //回退刷新信息事件 actionRefresh = () => { btnFunctionName.Text = btnFunctionName_Out.Text = curtain.name; btnFromFloor_Out.Text = btnFromFoorAndRoom.Text = curtain.GetRoomListName(); }; } /// /// 收藏功能按钮事件 /// void LoadCollectionEvent() { btnCollection.MouseUpEventHandler += (sender, e) => { btnCollection.IsSelected = curtain.collection = btnCollection_Out.IsSelected = !btnCollection.IsSelected; curtain.SaveFunctionData(); }; } /// /// 加载窗帘控制事件 /// void LoadEvent_ControlEvent() { btnCurtainClose.MouseUpEventHandler = (sender, e) => { btnCurtainClose.IsSelected = true; btnCurtainStop.IsSelected = false; btnCurtainOpen.IsSelected = false; curtain.trait_on_off.value = "off"; curtain.percent = 0; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off", curtain.trait_on_off.value.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }; btnCurtainStop.MouseDownEventHandler = (sender, e) => { btnCurtainStop.IsSelected = true; btnCurtainClose.IsSelected = false; btnCurtainOpen.IsSelected = false; }; btnCurtainStop.MouseUpEventHandler = (sender, e) => { btnCurtainOpen.IsSelected = true; btnCurtainClose.IsSelected = false; btnCurtainStop.IsSelected = false; curtain.trait_on_off.value = "stop"; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off", curtain.trait_on_off.value.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }; btnCurtainOpen.MouseUpEventHandler = (sender, e) => { btnCurtainOpen.IsSelected = true; btnCurtainClose.IsSelected = false; btnCurtainStop.IsSelected = false; curtain.trait_on_off.value = "on"; curtain.percent = 100; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("on_off", curtain.trait_on_off.value.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }; btnMinusSignIcon.MouseUpEventHandler = (sender, e) => { curtain.percent--; controlBar.Progress = curtain.percent; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("percent", curtain.percent.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }; btnPlusSgnIcon.MouseUpEventHandler = (sender, e) => { curtain.percent++; controlBar.Progress = curtain.percent; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("percent", curtain.percent.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }; //curtainSeekBar.OnProgressChangedEvent = (sender, e) => //{ // controlBar.Progress = curtainSeekBar.Progress; // new System.Threading.Thread(() => // { // if (controlBar.Progress == 0 || controlBar.Progress == 100 || (DateTime.Now - curtain.refreshTime).TotalMilliseconds > 300) // { // curtain.percent = e; // curtain.refreshTime = DateTime.Now; // System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); // d.Add("percent", curtain.percent.ToString()); // Control.SendWriteCommand(curtain, d); // } // }) // { IsBackground = true }.Start(); //}; curtainSeekBar.OnStopTrackingTouchEvent = (sender, e) => { controlBar.Progress = curtainSeekBar.Progress; new System.Threading.Thread(() => { curtain.percent = e; curtain.refreshTime = DateTime.Now; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("percent", curtain.percent.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }) { IsBackground = true }.Start(); }; //controlBar.OnProgressChangedEvent = (sender, e) => //{ // curtainSeekBar.Progress = controlBar.Progress; // new System.Threading.Thread(() => // { // if (controlBar.Progress == 0 || controlBar.Progress == 100 || (DateTime.Now - curtain.refreshTime).TotalMilliseconds > 300) // { // curtain.percent = e; // curtain.refreshTime = DateTime.Now; // System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); // d.Add("percent", curtain.percent.ToString()); // Control.SendWriteCommand(curtain, d); // } // }) // { IsBackground = true }.Start(); //}; controlBar.OnStopTrackingTouchEvent = (sender, e) => { curtainSeekBar.Progress = controlBar.Progress; new System.Threading.Thread(() => { curtain.percent = e; curtain.refreshTime = DateTime.Now; System.Collections.Generic.Dictionary d = new System.Collections.Generic.Dictionary(); d.Add("percent", curtain.percent.ToString()); DriverLayer.Control.ins.SendWriteCommand(curtain, d); }) { IsBackground = true }.Start(); }; } } }