using System; using System.Collections.Generic; using System.Text; namespace Shared.Phone { /// /// 做成一个简单场景选择的行控件(它会自动设置选择状态) /// public class SceneSimpleSelectControl : FrameRowControl { #region ■ 变量声明___________________________ /// /// 场景ID /// private int SceneId = 0; /// /// 场景对象 /// public Common.SceneUI Scene { get { return HdlSceneLogic.Current.GetSceneUIBySceneId(SceneId); } } /// /// 选择控件 /// 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 SceneSimpleSelectControl(Common.SceneUI i_Scene, int i_ChidrenYaxis = 0) : base(i_ChidrenYaxis) { this.SceneId = i_Scene.Id; this.ButtonClickEvent += (sender, e) => { this.IsSelected = Statu == StatuMode.SELECT ? false : true; }; } /// /// 初始化内部控件 /// public void InitControl() { var SceneTemp = this.Scene; //图标 var btnIcon = this.AddLeftIcon(); btnIcon.UnSelectedImagePath = "Scene/SceneIcon.png"; //场景 this.AddTopView(SceneTemp.Name, 850); //房间 string roomName = HdlRoomLogic.Current.GetRoomNameBySceneId(SceneId); this.AddBottomView(roomName, 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 } }