C# 禁用并启用反向绑定

C# 禁用并启用反向绑定,c#,wpf,C#,Wpf,在代码隐藏中,我有一些绑定到MyText的文本框,我需要以下内容: if(x) //disable binding of textbox if(y) //enable back binding' 我知道可以像这样取消绑定: BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty) 但如何禁用,然后启用回?可能吗?您不能临时“禁用”或“暂停”绑定。您必须删除绑定,然后创建新绑定: if (x) Binding

在代码隐藏中,我有一些绑定到
MyText
的文本框,我需要以下内容:

if(x)
  //disable binding of textbox
if(y)
  //enable back binding'
我知道可以像这样取消绑定:

BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty)
但如何禁用,然后启用回?可能吗?

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

if (x)
    BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty);
else if (y)
    BindingOperations.SetBinding(MyTextBox, TextBox.TextProperty, new Binding("MyText"));
就约束机制而言,没有其他或更好的方法


不过,您不必首先清除绑定。

您有用于此的Xaml吗?类似于
嗯,当文本框中出现按钮等内容发生更改时,您是否有任何事件?plz post回答您希望通过清除绑定实现什么,以及稍后启用绑定。当条件满足时,是否希望文本框显示为空,或者有其他更好的解决方案