1,需求 对象属性发生变化 更新UI
2, 方法: 在对象中定义事件,在属性中调用事件
// 属性
public string EmrTitle
{
get { return _category.EmrTitle.Text; }
set
{
if (_category.EmrTitle.Text != value)
{
// 出发事件
if (OnEmrTitleChanged != null)
OnEmrTitleChanged(this, new EmrTitleEventArgs(value));
_category.EmrTitle.Text = value;
}
}
}
//定义事件
public event EventHandler<EmrTitleEventArgs> OnEmrTitleChanged;
// 自定义事件参数
public class EmrTitleEventArgs : EventArgs
{
public EmrTitleEventArgs(string title)
{
this.Title = title;
}
public string Title { get; private set; }
}
// 注册事件
my.OnEmrTitleChanged += new EventHandler<EmrTitleEventArgs>(my_OnEmrTitleChanged);
// 事件执行
void my_OnEmrTitleChanged(object sender, EmrTitleEventArgs e)
{
if (CurrentEditNode != null && !string.IsNullOrEmpty(e.Title))
{
CurrentEditNode[0] = e.Title.IndexOf('\n') == -1 ? e.Title : e.Title.Replace('\n', ' ').Trim();
}
}