using System; using System.Collections.Generic; using System.Text; using ZigBee.Device; namespace Shared.Phone { /// /// 做成一个简单设备选择的行控件 /// public class DeviceSimpleSelectControl : FrameRowControl { #region ■ 变量声明___________________________ /// /// 设备对象 /// public CommonDevice device { get { return HdlDeviceCommonLogic.Current.GetDevice(MainKeys); } } /// /// 选择控件 /// private MostRightIconControl btnSelect = null; /// /// 选择的状态是否能够取消 /// public bool SelectCancel = true; /// /// 状态 /// private StatuMode Statu = StatuMode.UN_SELECT; /// /// 是否处于选择状态 /// public bool IsSelected { get { return Statu == StatuMode.SELECT; } set { if (value == false) { if (SelectCancel == true) { this.SetUnselectStatu(); } } else { this.SetSelectStatu(); } } } #endregion #region ■ 初始化_____________________________ /// /// 做成一个简单设备选择的行控件 /// /// 设备对象 /// 当点击此控件时,是否自动设置选择状态 /// 子控件Y轴偏移量(【列表控件的rowSpace/2】即可,不懂默认为0即可) public DeviceSimpleSelectControl(CommonDevice i_device, bool autoSelect, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) { this.MainKeys = HdlDeviceCommonLogic.Current.GetDeviceMainKeys(i_device); if (autoSelect == true) { this.ButtonClickEvent += (sender, e) => { this.IsSelected = Statu == StatuMode.SELECT ? false : true; }; } } /// /// 初始化内部控件 /// public void InitControl() { //图标 var btnIcon = this.AddLeftIcon(); HdlDeviceCommonLogic.Current.SetDeviceIconToControl(btnIcon, device); //设备 string eName = HdlDeviceCommonLogic.Current.GetDeviceEpointName(device); this.AddLeftCaption(eName, 850); btnSelect = this.AddMostRightEmptyIcon(58, 58); btnSelect.Visible = false; btnSelect.UnSelectedImagePath = "Item/ItemSelected.png"; } #endregion #region ■ 选择状态___________________________ /// /// 设定选择状态 /// private void SetSelectStatu() { if (Statu == StatuMode.SELECT) { return; } btnSelect.Visible = true; //状态变更 Statu = StatuMode.SELECT; } /// /// 设置非选择状态 /// private void SetUnselectStatu() { if (Statu == StatuMode.UN_SELECT) { return; } btnSelect.Visible = false; //状态变更 Statu = StatuMode.UN_SELECT; } #endregion #region ■ 一般方法___________________________ #endregion } }