Bindingsource多次调用控件的value属性?

Iva*_*ono 5 c# data-binding bindingsource winforms

我有一个简单的DTO类,我将其设置为窗体上绑定源的数据源.

表单包含具有Value属性的自定义控件.这是属性:

[Browsable(false)]
[Bindable(BindableSupport.Yes, BindingDirection.TwoWay)]
public virtual T Value
{
    get { return this.value; }
    set { this.value = value; }
}
Run Code Online (Sandbox Code Playgroud)

当控件绑定到bindingsource时,setter被调用6次.当控件未绑定时,setter仅被调用2次

在这两种情况下,第一次调用是因为设计器代码有一行:

mycontrol.Value = null;
Run Code Online (Sandbox Code Playgroud)

最后一次调用是因为我设置了一个值.所以第一次和最后一次通话都是正常的.但是当绑定控件时,为什么setter被称为额外4次?