代码之家  ›  专栏  ›  技术社区  ›  Flufy

禁用并启用后绑定

  •  -1
  • Flufy  · 技术社区  · 8 年前

    我有一个绑定到 MyText 在代码隐藏中,我需要以下内容:

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

    我知道有可能 取消 这样装订:

    BindingOperations.ClearBinding(MyTextBox, TextBox.TextProperty)
    

    但是如何禁用然后重新启用呢?有可能吗?

    1 回复  |  直到 8 年前
        1
  •  2
  •   mm8    8 年前

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

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

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

    不过,你不应该一开始就清除绑定。