wxr
2021-03-04 5266531a3a1552a11a29473974481d60100812c6
HDL_ON/UI/UI2/FuntionControlView/Electrical/ClothesHangerPage.cs
@@ -64,8 +64,6 @@
            //初始化第一个索引页的内容
            this.InitFrameWhiteContent1();
            //刷新当前设备的状态缓存
            this.RefreshNowDeviceStatuMemory(this.device);
            //刷新界面状态
            this.RefreshFormStatu();
            //读取状态
@@ -126,6 +124,62 @@
            };
            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 菜单
@@ -152,7 +206,8 @@
            {
                FrameWhiteCentet1.AddChidren(hotDryView);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    string onoff = hotDryView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.HotDry, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -180,7 +235,8 @@
                }
                FrameWhiteCentet1.AddChidren(windDryView);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    string onoff = windDryView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.WindDry, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -214,7 +270,8 @@
                }
                FrameWhiteCentet1.AddChidren(disinfectView);
                EventHandler<MouseEventArgs> eventHandler = (sender, e) => {
                EventHandler<MouseEventArgs> eventHandler = (sender, e) =>
                {
                    string onoff = disinfectView.Lighting ? "false" : "true";
                    device.SetAttrState(FunctionAttributeKey.Disinfect, onoff);
                    Dictionary<string, string> d = new Dictionary<string, string>();
@@ -238,7 +295,8 @@
                if(index >2)
                {
                    lightingView.Y = Application.GetRealHeight(409);
                }else
                }
                else
                {
                    lightingView.Y = Application.GetRealHeight(304);
                    if (index == 1)
@@ -252,7 +310,8 @@
                }
                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>();
@@ -305,8 +364,6 @@
            //不是同一个东西
            if (this.device.sid != i_LocalDevice.sid) { return; }
            //刷新当前设备的状态缓存
            this.RefreshNowDeviceStatuMemory(i_LocalDevice);
            //刷新界面状态
            this.RefreshFormStatu();
        }
@@ -324,49 +381,47 @@
        /// </summary>
        private void RefreshFormStatu()
        {
            Application.RunOnMainThread(() => {
            Application.RunOnMainThread(() =>
            {
                btnIcon.IsSelected = true;
                #region 点亮文本
                var hotDryTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.HotDry);
                var hotDryTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.HotDry);
                if (hotDryTemp != null)
                {
                    hotDryView.SetViewStatus(hotDryTemp.value == "true");
                    hotDryView.SetViewStatus(hotDryTemp.state == "true");
                }
                var windDryTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.WindDry);
                var windDryTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.WindDry);
                if (windDryTemp != null)
                {
                    windDryView.SetViewStatus(windDryTemp.value == "true");
                    windDryView.SetViewStatus(windDryTemp.state == "true");
                }
                var disinfectTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.Disinfect);
                var disinfectTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.Disinfect);
                if (disinfectTemp != null)
                {
                    disinfectView.SetViewStatus(disinfectTemp.value == "true");
                    disinfectView.SetViewStatus(disinfectTemp.state == "true");
                }
                var lightTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.OnOff);
                var lightTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.OnOff);
                if (lightTemp != null)
                {
                    lightingView.SetViewStatus(lightTemp.value == "on");
                    lightingView.SetViewStatus(lightTemp.state == "on");
                }
                #endregion
                #region 修改时间
                var hotDryTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.HotDryTimeLeft);
                var hotDryTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.HotDryTimeLeft);
                if (hotDryTimeLeftTemp != null)
                {
                    hotDryView.ChangeTime(hotDryTimeLeftTemp.value);
                    MainPage.Log($"烘干剩余时间{hotDryTimeLeftTemp.value}");
                    hotDryView.ChangeTime(hotDryTimeLeftTemp.state);
                }
                var windDryTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.WindDryTimeLeft);
                var windDryTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.WindDryTimeLeft);
                if (windDryTimeLeftTemp != null)
                {
                    windDryView.ChangeTime(windDryTimeLeftTemp.value);
                    MainPage.Log($"风干剩余时间{windDryTimeLeftTemp.value}");
                    windDryView.ChangeTime(windDryTimeLeftTemp.state);
                }
                var disinfectTimeLeftTemp = device.status.Find((sta) => sta.key == FunctionAttributeKey.DisinfectTimeLeft);
                var disinfectTimeLeftTemp = device.attributes.Find((sta) => sta.key == FunctionAttributeKey.DisinfectTimeLeft);
                if (disinfectTimeLeftTemp != null)
                {
                    disinfectView.ChangeTime(disinfectTimeLeftTemp.value);
                    MainPage.Log($"消毒剩余时间{disinfectTimeLeftTemp.value}");
                    disinfectView.ChangeTime(disinfectTimeLeftTemp.state);
                }
                #endregion
@@ -377,18 +432,6 @@
        #endregion
        #region ■ 一般方法___________________________
        /// <summary>
        /// 刷新当前设备的状态缓存
        /// </summary>
        private void RefreshNowDeviceStatuMemory(Function i_LocalDevice)
        {
            foreach (var data in i_LocalDevice.status)
            {
                //开关
                //if (data.key == "on_off") { this.weepRobotData.Cleaning = data.value.ToLower() == "on"; }
            }
        }
        #endregion
    }
@@ -454,7 +497,8 @@
            leftTime *= 60;
            if (countdownThread == null)
            {
                countdownThread = new System.Threading.Thread(() => {
                countdownThread = new System.Threading.Thread(() =>
                {
                    while(true)
                    {
                        if(leftTime > 1)
@@ -465,7 +509,8 @@
                            });
                            System.Threading.Thread.Sleep(1000);
                            leftTime--;
                        }else
                        }
                        else
                        {
                            Application.RunOnMainThread(() =>
                            {
@@ -473,7 +518,8 @@
                            });
                        }
                    }
                }) { IsBackground = true };
                })
                { IsBackground = true };
                countdownThread.Start();
            }
        }
@@ -481,11 +527,6 @@
        public void SetViewStatus(bool state)
        {
            btnIcon.IsSelected = btnTitle.IsSelected = btnTime.IsSelected = Lighting = state;
        }
        public bool GetViewState()
        {
            return Lighting;
        }
        /// <summary>