using System; using Shared.Phone.UserCenter; using ZigBee.Device; namespace Shared.Phone.Category.Controls { /// /// 分类界面的新风设备行控件 /// public class DeviceFreshAirRowControl : DeviceRowCommon { /// /// 初始化控件 /// /// public override void InitControl(CommonDevice i_device, Common.Room i_nowSelectRoom) { base.InitControl(i_device, i_nowSelectRoom); //添加跳转深度卡片信息事件 this.AddDetailInfoEvent(i_device); //添加开关控件 var btnSwitch = this.AddSwitchControl(); btnSwitch.ButtonClickEvent += (sender, e) => { bool setStatu = !btnSwitch.IsSelected; //变更卡片状态 this.SetRowOpenStatu(setStatu); //检测是否获取网关反馈的结果,如果网关没有回复,则会弹出消息 this.StartCheckResponeResult(!setStatu); if (setStatu == true) { //打开 this.SetDeviceStatuText(Language.StringByID(R.MyInternationalizationString.uOpen1)); (i_device as FreshAir).Open(); } else { //关闭 this.SetDeviceStatuText(Language.StringByID(R.MyInternationalizationString.Close)); (i_device as FreshAir).Close(); } }; } #region ■ 深度卡片信息_______________________ /// /// 添加跳转深度卡片信息事件 /// private void AddDetailInfoEvent(CommonDevice i_device) { //深度卡片信息 this.frameTable.ButtonClickEvent += (sender, e) => { //新风类型的深度卡片界面 var form = new MainPage.ControlForm.DeviceFreshAirDetailCardForm(); form.RowOrCardControl = this; form.AddForm(i_device, this.nowSelectRoom, 965, 1374); form.FormCloseEvent += this.CardDetailInfoBackEvent; }; } #endregion #region ■ 检测设备打开状态___________________ /// /// 检测设备打开状态 /// /// /// public override bool CheckIsOpenStatu(CommonDevice i_device) { return ((FreshAir)i_device).currentFanStatus != 0; } #endregion #region ■ 发送获取状态命令___________________ /// /// 发送获取状态命令 /// public override void SendStatuComand() { //检测能否发送获取状态命令 if (this.CheckCanSendStatuComand() == true) { HdlDeviceAttributeLogic.Current.SendFreshAirStatuComand(this.device); } } #endregion } }