禁用并启用反向绑定

时间:2018-05-30 15:31:21

标签: c# wpf

我的代码后面有一些绑定到MyText的文本框,我需要以下内容:

if(x)
  //disable binding of textbox
if(y)
  //enable back binding'

我知道可以取消绑定,如下所示:

BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty)

但如何禁用然后启用?有可能吗?

1 个答案:

答案 0 :(得分:2)

您不能暂时“禁用”或“暂停”绑定。您必须删除绑定,然后再创建一个新绑定:

if (x)
    BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty);
else if (y)
    BindingOperations.SetBinding(MyTextBox, TextBox.TextProperty, new Binding("MyText"));

就绑定机制而言,没有其他或更好的方法。

你不应该首先清除绑定。