using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone.UserCenter
|
{
|
/// <summary>
|
/// 做成一个房间选择的行控件
|
/// </summary>
|
public class RoomSelectRow : StatuRowLayout
|
{
|
/// <summary>
|
/// 是否处于选择状态
|
/// </summary>
|
public bool IsSelected
|
{
|
get
|
{
|
return Statu == StatuMode.SELECT;
|
}
|
set
|
{
|
if (value == true)
|
{
|
this.SetSelectStatu();
|
}
|
else
|
{
|
if (SelectCancel == true)
|
{
|
this.SetUnselectStatu();
|
}
|
}
|
}
|
}
|
/// <summary>
|
/// 房间名
|
/// </summary>
|
public string RoomName = string.Empty;
|
/// <summary>
|
/// 选择的状态是否能够取消
|
/// </summary>
|
public bool SelectCancel = true;
|
/// <summary>
|
/// 点图标控件
|
/// </summary>
|
private RowLeftIconView btnPoint = null;
|
/// <summary>
|
/// 房间控件
|
/// </summary>
|
private RowCenterView btnRoom = null;
|
/// <summary>
|
/// 选择控件
|
/// </summary>
|
private MostRightEmptyView btnSelect = null;
|
/// <summary>
|
/// 状态
|
/// </summary>
|
private StatuMode Statu = StatuMode.UN_SELECT;
|
|
/// <summary>
|
/// 做成一个房间选择的行控件
|
/// </summary>
|
/// <param name="listView">列表控件,可以为空</param>
|
/// <param name="room">房间对象</param>
|
public RoomSelectRow(VerticalScrolViewLayout listView, Common.Room room)
|
{
|
this.RoomName = room.Name;
|
this.MouseUpEvent += (sender, e) =>
|
{
|
this.IsSelected = Statu == StatuMode.SELECT ? false : true;
|
};
|
|
if (listView != null)
|
{
|
listView.AddChidren(this);
|
//初始化内部控件
|
this.InitControl();
|
}
|
}
|
|
/// <summary>
|
/// 初始化内部控件
|
/// </summary>
|
public void InitControl()
|
{
|
//图标
|
btnPoint = new RowLeftIconView();
|
btnPoint.ChangedControlInPointMode();
|
this.AddChidren(btnPoint, ChidrenBindMode.BindEventOnly);
|
|
//房间
|
btnRoom = new RowCenterView();
|
btnRoom.Text = this.RoomName;
|
this.AddChidren(btnRoom, ChidrenBindMode.BindEventOnly);
|
//点号图片有点特殊,需要调整偏移量
|
btnRoom.X -= ControlCommonResourse.PointXXLeft;
|
|
//选择
|
btnSelect = new MostRightEmptyView();
|
btnSelect.Visible = false;
|
btnSelect.UnSelectedImagePath = "Item/TickSelected.png";
|
this.AddChidren(btnSelect, ChidrenBindMode.BindEventOnly);
|
}
|
|
/// <summary>
|
/// 设定选择状态
|
/// </summary>
|
private void SetSelectStatu()
|
{
|
if (Statu == StatuMode.SELECT)
|
{
|
return;
|
}
|
btnPoint.IsSelected = true;
|
btnRoom.TextColor = UserCenterColor.Current.SelectTextColor;
|
btnSelect.Visible = true;
|
//状态变更
|
Statu = StatuMode.SELECT;
|
}
|
|
/// <summary>
|
/// 设置非选择状态
|
/// </summary>
|
private void SetUnselectStatu()
|
{
|
if (Statu == StatuMode.UN_SELECT)
|
{
|
return;
|
}
|
btnPoint.IsSelected = false;
|
btnRoom.TextColor = UserCenterColor.Current.TextColor;
|
btnSelect.Visible = false;
|
//状态变更
|
Statu = StatuMode.UN_SELECT;
|
}
|
}
|
}
|