5 .net c# data-binding winforms
我们需要在WinForms应用程序中的控件上执行以下操作。
public class BindableDataItem
{
public bool Visible {get; set; }
public bool Enabled {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
现在我们想将BindableDataItem绑定到文本框。
这里是绑定关联。
TextBox.Enabled <==> BindableDataItem.Enabled
TextBox.Visible <==> BindableDataItem.Visible
现在,一个BindableDataItem对象可以与许多具有不同类型的控件关联。
通过调用(BindableDataItem)obj.Enabled = false,应禁用附加到BindableDataItem对象的所有控件。
任何帮助将不胜感激。
是这样完成的
class MyDataSouce : INotifyPropertyChanged
{
public event PropertyChangedEventHandler PropertyChanged = delegate { };
private bool enabled=true, visible=true;
public bool Enabled {
get { return enabled; }
set {
enabled= value;
PropertyChanged(this, new PropertyChangedEventArgs("Enabled"));
}
}
public bool Visible {
get { return visible; }
set {
visible = value;
PropertyChanged(this, new PropertyChangedEventArgs("Visible"));
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在将表单中的控件绑定到数据源。
MyDataSouce dataSource = new MyDataSouce();
foreach (Control ctl in this.Controls) {
ctl.DataBindings.Add(new Binding("Enabled", dataSource, "Enabled"));
ctl.DataBindings.Add(new Binding("Visible", dataSource, "Visible"));
}
Run Code Online (Sandbox Code Playgroud)
现在您可以启用/禁用控件,例如
dataSource.Enabled = false;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2001 次 |
| 最近记录: |