【发布时间】:2008-11-26 10:39:18
【问题描述】:
我用 C# 编写了一个派生自 System.Windows.Forms.Control 的控件。我添加了一个属性 Selected,我想使用 BindingSource 将其数据绑定到业务实体。
我通过添加一个 SelectedChanged 事件来实现 PropertyNameChanged 模式,该事件在 Selected 属性更改时触发。
这是我的代码:
public partial class RateControl : Control
{
[Category("Property Changed")]
public event EventHandler SelectedChanged;
public int Selected
{
get
{ return m_selected; }
set
{
if (m_selected != value)
{
m_selected = value;
OnSelectedChanged();
Invalidate();
}
}
}
protected virtual void OnSelectedChanged()
{
if (this.SelectedChanged != null)
this.SelectedChanged(this, new EventArgs());
}
}
当我绑定到 Selected 属性时,我看到了正在订阅的事件。该事件也会在属性更改时触发。
但是业务实体没有更新。我什至没有看到被访问的 Selected 属性的 getter。
我错过了什么?
【问题讨论】:
标签: c# data-binding