| | |
| | | }; |
| | | FrameWhiteCentet1.AddChidren(btnDown); |
| | | |
| | | #region 控制 |
| | | btnUp.MouseDownEventHandler = (sender, e) => { |
| | | btnUp.IsSelected = true; |
| | | }; |
| | | btnUp.MouseUpEventHandler = (sender, e) => { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(2000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnUp.IsSelected = false; |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.Position, "up"); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | //---- |
| | | btnStop.MouseDownEventHandler = (sender, e) => { |
| | | btnStop.IsSelected = true; |
| | | }; |
| | | btnStop.MouseUpEventHandler = (sender, e) => { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(2000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnStop.IsSelected = false; |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.Position, "stop"); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | //----- |
| | | btnDown.MouseDownEventHandler = (sender, e) => { |
| | | btnDown.IsSelected = true; |
| | | }; |
| | | btnDown.MouseUpEventHandler = (sender, e) => { |
| | | new System.Threading.Thread(() => |
| | | { |
| | | System.Threading.Thread.Sleep(2000); |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnDown.IsSelected = false; |
| | | }); |
| | | }) |
| | | { IsBackground = true }.Start(); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.Position, "down"); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | #endregion |
| | | |
| | | #endregion |
| | | |
| | | #region 菜单 |
| | |
| | | { |
| | | FrameWhiteCentet1.AddChidren(hotDryView); |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | device.SetAttrState(FunctionAttributeKey.HotDry, "true"); |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | string onoff = hotDryView.Lighting ? "false" : "true"; |
| | | device.SetAttrState(FunctionAttributeKey.HotDry, onoff); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.HotDry, "true"); |
| | | d.Add(FunctionAttributeKey.HotDry, onoff); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | hotDryView.SetThouchEvent(eventHandler); |
| | |
| | | windDryView.Height = Application.GetRealHeight(74); |
| | | if (attrs.Contains(menu[1])) |
| | | { |
| | | if(index == 1) |
| | | if (index == 1) |
| | | { |
| | | windDryView.Gravity = Gravity.CenterHorizontal; |
| | | } |
| | | FrameWhiteCentet1.AddChidren(windDryView); |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | device.SetAttrState(FunctionAttributeKey.WindDry, "true"); |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | string onoff = windDryView.Lighting ? "false" : "true"; |
| | | device.SetAttrState(FunctionAttributeKey.WindDry, onoff); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.WindDry, "true"); |
| | | d.Add(FunctionAttributeKey.WindDry, onoff); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | windDryView.SetThouchEvent(eventHandler); |
| | |
| | | index++; |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | disinfectView = new ClothesHangerControl( |
| | | "FunctionIcon/Electrical/ClothesHanger/ClothesHangerDisinfectIcon.png", |
| | |
| | | disinfectView.Height = Application.GetRealHeight(74); |
| | | if (attrs.Contains(menu[2])) |
| | | { |
| | | if(index == 1) |
| | | if (index == 1) |
| | | { |
| | | disinfectView.Gravity = Gravity.CenterHorizontal; |
| | | } |
| | |
| | | } |
| | | FrameWhiteCentet1.AddChidren(disinfectView); |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | device.SetAttrState(FunctionAttributeKey.Disinfect, "true"); |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | string onoff = disinfectView.Lighting ? "false" : "true"; |
| | | device.SetAttrState(FunctionAttributeKey.Disinfect, onoff); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | | d.Add(FunctionAttributeKey.Disinfect, "true"); |
| | | d.Add(FunctionAttributeKey.Disinfect, onoff); |
| | | Control.Ins.SendWriteCommand(device, d); |
| | | }; |
| | | disinfectView.SetThouchEvent(eventHandler); |
| | |
| | | lightingView.Height = Application.GetRealHeight(74); |
| | | if (attrs.Contains(menu[3])) |
| | | { |
| | | if(index >2) |
| | | if (index > 2) |
| | | { |
| | | lightingView.Y = Application.GetRealHeight(409); |
| | | }else |
| | | } |
| | | else |
| | | { |
| | | lightingView.Y = Application.GetRealHeight(304); |
| | | if (index == 1) |
| | |
| | | } |
| | | FrameWhiteCentet1.AddChidren(lightingView); |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => { |
| | | EventHandler<MouseEventArgs> eventHandler = (sender, e) => |
| | | { |
| | | string onoff = lightingView.Lighting ? "off" : "on"; |
| | | device.SetAttrState(FunctionAttributeKey.OnOff, onoff); |
| | | Dictionary<string, string> d = new Dictionary<string, string>(); |
| | |
| | | |
| | | index++; |
| | | } |
| | | |
| | | #endregion |
| | | |
| | | |
| | | #region 时间设置 |
| | | var timeSetView = new ClothesHangerControl( |
| | | "FunctionIcon/Electrical/ClothesHanger/ClothesHangerTimeIcon.png", |
| | | "FunctionIcon/Electrical/ClothesHanger/ClothesHangerTimeIconOn.png", |
| | | Language.StringByID(StringId.Time), |
| | | ""); |
| | | timeSetView.Width = Application.GetRealWidth(96); |
| | | timeSetView.Height = Application.GetRealHeight(74); |
| | | timeSetView.Y = Application.GetRealHeight(409); |
| | | timeSetView.X = Application.GetRealWidth(266 - 33); |
| | | |
| | | |
| | | EventHandler<MouseEventArgs> eventHandler_timeSetView = (sender, e) => |
| | | { |
| | | var setTimePage = new ClothesHangerSetTimePage(device); |
| | | MainPage.BasePageView.AddChidren(setTimePage); |
| | | setTimePage.LoadPage(); |
| | | MainPage.BasePageView.PageIndex = MainPage.BasePageView.ChildrenCount - 1; |
| | | }; |
| | | timeSetView.SetThouchEvent(eventHandler_timeSetView); |
| | | |
| | | FrameWhiteCentet1.AddChidren(timeSetView); |
| | | |
| | | #endregion |
| | | } |
| | |
| | | /// </summary> |
| | | private void RefreshFormStatu() |
| | | { |
| | | Application.RunOnMainThread(() => { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnIcon.IsSelected = true; |
| | | #region 点亮文本 |
| | | var hotDryTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.HotDry); |
| | |
| | | if (hotDryTimeLeftTemp != null) |
| | | { |
| | | hotDryView.ChangeTime(hotDryTimeLeftTemp.value); |
| | | MainPage.Log($"烘干剩余时间{hotDryTimeLeftTemp.value}"); |
| | | } |
| | | var windDryTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.WindDryTimeLeft); |
| | | if (windDryTimeLeftTemp != null) |
| | | { |
| | | windDryView.ChangeTime(windDryTimeLeftTemp.value); |
| | | MainPage.Log($"风干剩余时间{windDryTimeLeftTemp.value}"); |
| | | } |
| | | var disinfectTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.DisinfectTimeLeft); |
| | | if (disinfectTimeLeftTemp != null) |
| | | { |
| | | disinfectView.ChangeTime(disinfectTimeLeftTemp.value); |
| | | MainPage.Log($"消毒剩余时间{disinfectTimeLeftTemp.value}"); |
| | | } |
| | | #endregion |
| | | |
| | |
| | | private Button btnTitle; |
| | | private Button btnTime; |
| | | /// <summary> |
| | | /// 倒计时时间 |
| | | /// </summary> |
| | | private int leftTime = 0; |
| | | /// <summary> |
| | | /// 控件是否点亮 |
| | | /// </summary> |
| | | public bool Lighting = false; |
| | | |
| | | public ClothesHangerControl(string iconPath1, string iconPath2,string title,string time) |
| | | |
| | | |
| | | public ClothesHangerControl(string iconPath1, string iconPath2, string title, string time) |
| | | { |
| | | btnIcon = new Button() |
| | | { |
| | |
| | | /// 修改显示时间 |
| | | /// </summary> |
| | | /// <param name="newTime"></param> |
| | | public void ChangeTime (string newTime) |
| | | public void ChangeTime(string newTime) |
| | | { |
| | | if(newTime == "0") |
| | | { |
| | | newTime = ""; |
| | | } |
| | | |
| | | int time = 0; |
| | | int.TryParse(newTime, out time); |
| | | time = time * 60; |
| | | |
| | | int.TryParse(newTime, out leftTime); |
| | | leftTime *= 60; |
| | | if (countdownThread == null) |
| | | { |
| | | countdownThread = new System.Threading.Thread(() => { |
| | | while(true) |
| | | countdownThread = new System.Threading.Thread(() => |
| | | { |
| | | while (true) |
| | | { |
| | | if(time>1) |
| | | if (leftTime > 1) |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | | btnTime.Text = new TimeSpan(0, 0, time).ToString(); |
| | | btnTime.Text = new TimeSpan(0, 0, leftTime).ToString(); |
| | | }); |
| | | System.Threading.Thread.Sleep(1000); |
| | | time--; |
| | | }else |
| | | leftTime--; |
| | | } |
| | | else |
| | | { |
| | | Application.RunOnMainThread(() => |
| | | { |
| | |
| | | }); |
| | | } |
| | | } |
| | | }) { IsBackground = true }; |
| | | }) |
| | | { IsBackground = true }; |
| | | countdownThread.Start(); |
| | | } |
| | | } |
| | |
| | | public void SetViewStatus(bool state) |
| | | { |
| | | btnIcon.IsSelected = btnTitle.IsSelected = btnTime.IsSelected = Lighting = state; |
| | | } |
| | | |
| | | public bool GetViewState() |
| | | { |
| | | return Lighting; |
| | | } |
| | | |
| | | /// <summary> |
| | |
| | | /// </summary> |
| | | System.Threading.Thread countdownThread; |
| | | } |
| | | } |
| | | } |