using Shared; using HDL_ON.Stan; using HDL_ON.UI.CSS; using HDL_ON.Entity; namespace HDL_ON.UI { public class SensorWaterImmersionPage : DeviceFunctionCardCommonForm { #region ■ 变量声明___________________________ /// /// 图标 /// private IconViewControl btnIcon = null; /// /// 文本控件 /// private NormalViewControl btnSuctionView = null; #endregion #region ■ 初始化_____________________________ /// /// 初始化白色区域的内容 /// public override void InitFrameWhiteContent() { base.SetTitleText(device.name); //添加第二索引页 this.AddSecondPage(); //初始化第一个索引页的内容 this.InitFrameWhiteContent1(); //初始化第二个索引页的内容 this.InitFrameWhiteContent2(); //刷新当前设备的状态缓存 this.RefreshNowDeviceStatuMemory(this.device); //刷新界面状态 this.RefreshFormStatu(); //读取状态 new System.Threading.Thread(() => { DriverLayer.Control.Ins.SendReadCommand(device); }) { IsBackground = true }.Start(); } /// /// 初始化第一个索引页的内容 /// private void InitFrameWhiteContent1() { btnIcon = new IconViewControl(198) { Gravity = Gravity.CenterHorizontal, Y = Application.GetRealWidth(146), UnSelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorWaterImmersionStateBgIcon.png", SelectedImagePath = "FunctionIcon/ArmSensor/ArmSensorWaterImmersionStateBgIconOn.png", }; FrameWhiteCentet1.AddChidren(btnIcon); btnSuctionView = new NormalViewControl(300, 84, true) { Gravity = Gravity.CenterHorizontal, Y = btnIcon.Bottom, TextAlignment = TextAlignment.Center, TextSize = CSS_FontSize.TextFontSize, TextColor = CSS_Color.MainColor, SelectedTextColor = CSS_Color.AuxiliaryColor2, }; FrameWhiteCentet1.AddChidren(btnSuctionView); } /// /// 初始化第二个索引页的内容 /// private void InitFrameWhiteContent2() { var paging = new ArmSensorHistroyPaging(device); paging.InitFrame(FrameWhiteCentet2); } #endregion #region ■ 设备状态反馈_______________________ /// /// 设备状态反馈 /// /// public override void DeviceStatuPush(Function i_LocalDevice) { //不是同一个东西 if (this.device.sid != i_LocalDevice.sid) { return; } //刷新当前设备的状态缓存 this.RefreshNowDeviceStatuMemory(i_LocalDevice); //刷新界面状态 this.RefreshFormStatu(); } #endregion #region ■ 发送各种命令_______________________ #endregion #region ■ 刷新界面状态_______________________ /// /// 刷新界面状态 /// private void RefreshFormStatu() { Application.RunOnMainThread(() => { var temp = device.status.Find((sta) => sta.key == FunctionAttributeKey.Status); if (temp != null) { if (temp.value == "alarm") { btnIcon.IsSelected = true; btnSuctionView.TextID = StringId.WaterLeakage; btnSuctionView.IsSelected = true; } else { btnIcon.IsSelected = false; btnSuctionView.TextID = StringId.SensorNormalState; btnSuctionView.IsSelected = false; } } }); } #endregion #region ■ 一般方法___________________________ /// /// 刷新当前设备的状态缓存 /// private void RefreshNowDeviceStatuMemory(Function i_LocalDevice) { //foreach (var data in i_LocalDevice.status) //{ // if (data.value.ToLower() == "alarm") // { // this.btnIcon.IsSelected = true; // this.btnSuctionView.IsSelected = true; // this.btnSuctionView.TextID = StringId.WaterLeakage; // } // else // { // this.btnIcon.IsSelected = false; // this.btnSuctionView.IsSelected = false; // this.btnSuctionView.TextID = StringId.SensorNormalState; // } //} } #endregion } }