我有一些在代码后面绑定到MyText
的文本框,我需要以下内容:
if(x)
//disable binding of textbox
if(y)
//enable back binding'
我知道可以像这样用取消绑定:
BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty)
但是如何禁用然后再启用呢?有可能吗?
发布于 2018-05-31 18:14:56
您不能暂时“禁用”或“暂停”绑定。您必须删除绑定,然后创建一个新的绑定:
if (x)
BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty);
else if (y)
BindingOperations.SetBinding(MyTextBox, TextBox.TextProperty, new Binding("MyText"));
就绑定机制而言,没有其他或更好的方法。
不过,您不应该在一开始就清除绑定。
https://stackoverflow.com/questions/50608518
复制相似问题