using System;
|
using System.Collections.Generic;
|
using System.Text;
|
|
namespace Shared.Phone.UserCenter
|
{
|
/// <summary>
|
/// 做成一个用来编辑名字的行控件(分上下两部分)
|
/// </summary>
|
public class EditorNameValueRow : StatuRowLayout
|
{
|
/// <summary>
|
/// 名称变更事件
|
/// </summary>
|
public delegate void _ActionNameChangedEvent(string nameValue);
|
/// <summary>
|
/// 称变更事件
|
/// </summary>
|
public _ActionNameChangedEvent ActionNameChangedEvent;
|
/// <summary>
|
/// 上段控件(caption)
|
/// </summary>
|
public RowTopGrayView btnTop = null;
|
/// <summary>
|
/// 下段控件(nameValue)
|
/// </summary>
|
public RowBottomBlackView btnName = null;
|
/// <summary>
|
/// 弹窗的标题信息
|
/// </summary>
|
private string dialogTitle = string.Empty;
|
/// <summary>
|
/// 当弹窗的输入框为空时,显示的提示信息
|
/// </summary>
|
private string nameTip = string.Empty;
|
|
/// <summary>
|
/// 做成一个用来编辑名字的行控件(分上下两部分)
|
/// </summary>
|
/// <param name="caption">上段标题信息</param>
|
/// <param name="nameValue">名称值</param>
|
/// <param name="hadPictrue">是否拥有图片在左边</param>
|
public EditorNameValueRow(string caption, string nameValue, bool hadPictrue = false)
|
{
|
btnTop = new RowTopGrayView(hadPictrue);
|
btnTop.Text = caption;
|
|
btnName = new RowBottomBlackView(hadPictrue);
|
btnName.Text = nameValue;
|
|
string oldValue = nameValue;
|
this.MouseUpEvent += (sender, e) =>
|
{
|
//获取当前正在激活的画面
|
UserCenterCommonForm nowform = UserCenterLogic.GetNowActionForm();
|
if (nowform == null)
|
{
|
//这种情况应该不存在
|
return;
|
}
|
//弹窗界面
|
var form = new DialogInputFrameControl(nowform, DialogFrameMode.OnlyInput);
|
form.InputText = this.btnName.Text;
|
form.SetTipText(this.nameTip);
|
form.SetTitleText(this.dialogTitle);
|
form.ComfirmClickEvent += () =>
|
{
|
//没有回调函数
|
if (ActionNameChangedEvent == null)
|
{
|
form.CloseDialog();
|
return;
|
}
|
|
string value = form.InputText.Trim();
|
if (value == string.Empty)
|
{
|
//请输入XXXX
|
var contr = new ErrorMsgControl(nameTip);
|
contr.Show();
|
return;
|
}
|
//值没有改变的话,则不处理
|
if (value == oldValue)
|
{
|
form.CloseDialog();
|
return;
|
}
|
oldValue = value;
|
btnName.Text = value;
|
|
form.CloseDialog();
|
//调用回调函数
|
this.ActionNameChangedEvent(value);
|
};
|
};
|
}
|
|
/// <summary>
|
/// 初始化控件
|
/// </summary>
|
/// <param name="XXValue">X轴偏移量</param>
|
public void InitControl(int XXValue = -1)
|
{
|
this.AddChidren(btnTop);
|
|
this.AddChidren(btnName);
|
|
var right = this.AddRightIconControl();
|
|
if (XXValue != -1)
|
{
|
btnTop.X += XXValue;
|
btnName.X += XXValue;
|
right.X += XXValue;
|
}
|
}
|
|
/// <summary>
|
/// 设置弹窗的标题信息
|
/// </summary>
|
/// <param name="i_dialogTitle"></param>
|
public void SetDialogTitle(string i_dialogTitle)
|
{
|
this.dialogTitle = i_dialogTitle;
|
}
|
|
/// <summary>
|
/// 当弹窗的输入框为空时,显示的提示信息
|
/// </summary>
|
/// <param name="i_nameTip"></param>
|
public void SetEmptyNameTip(string i_nameTip)
|
{
|
this.nameTip = i_nameTip;
|
}
|
}
|
}
|