gpt4 book ai didi

c# - 数据绑定(bind)和控制

转载 作者:太空狗 更新时间:2023-10-29 23:42:34 25 4
gpt4 key购买 nike

我们要对 WinForms 应用程序中的控件执行以下操作。

public class BindableDataItem
{
public bool Visible {get; set; }
public bool Enabled {get;set;}

}

现在我们要将 BindableDataItem 绑定(bind)到 TextBox。

这里是绑定(bind)关联。

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"));
}
}
}

现在将表单中的控件绑定(bind)到数据源。

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"));

}

现在您可以启用/禁用控件,例如

dataSource.Enabled = false;

关于c# - 数据绑定(bind)和控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2055921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com