在使用C#4.0/C#2.0的WinForms中,如果控件的可见字段为false,则无法绑定到控件:
this.checkBox_WorkDone.DataBindings.Add("Visible", WorkStatus, "Done");
Run Code Online (Sandbox Code Playgroud)
我可以确认绑定已成功添加到控件的数据绑定列表中,但如果我更改绑定对象(WorkStatus),则不会发生任何事情.
这就是WorkStatus的样子:
public class WorkStatus : INotifyPropertyChanged
{
private Boolean _done;
public Boolean Done
{
get { return _done; }
set
{
if (_done == value) return;
_done = value;
// fire event
RaisePropertyChanged("Done");
}
}
private Int32 _time;
public Int32 Time
{
get { return _time; }
set
{
if (_time == value) return;
_time = value;
// fire event
RaisePropertyChanged("Time");
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void RaisePropertyChanged(String propertyName)
{
OnPropertyChanged(new PropertyChangedEventArgs(propertyName));
} …Run Code Online (Sandbox Code Playgroud)