我有一个bool变量CanSave和一个名为Selected的对象。有时Selected是null,所以当这种情况发生时,我需要一些文本框来禁用。这是我的代码:
private MyObject _selected;
public MyObject Selected
{
get { return _selected; }
set {
if (_selected != value)
{
_selected = value;
CanSave = Selected != null;
OnPropertyChanged("Selected");
}
}
}
private bool canSave;
public bool CanSave
{
get { return canSave; }
set { if (canSave != value)
{
canSave = value;
OnPropertyChanged("CanSave");
} }
}
我尝试了很多方法,我甚至绑定到标签,标签确实会对属性更改做出响应。
txt_descripcion.DataBindings.Add(new Binding("Enabled", this, "CanSave")); //this doesn't work
label8.DataBindings.Add(new Binding("Text", this, "CanSave")); //this works
任何导游都会很棒,提前谢谢!
正如@Igby Largeman所说,我阅读了相关的代码,思考了他是如何实际实现的,并在代码中找到了清除控件中所有绑定的地方。我已经好几个星期没有使用这个代码了,所以我忘记了发生了什么,谢谢Igby。