使用代码删除 WPF 中的绑定

本文关键字:绑定 WPF 码删除 代码 | 更新日期: 2023-09-27 17:47:22

我想在文本框中显示数据时使用数据绑定。我基本上是这样的:

 public void ShowRandomObject(IRandomObject randomObject) {
        Binding binding = new Binding {Source = randomObject, Path = new PropertyPath("Name")};
        txtName.SetBinding(TextBox.TextProperty, binding);
    }

我似乎找不到取消绑定的方法。我将使用许多不同的对象调用此方法,但文本框将保持不变。有没有办法删除以前的绑定,还是在设置新绑定时自动完成此操作?

使用代码删除 WPF 中的绑定

或者:

BindingOperations.ClearBinding(txtName, TextBox.TextProperty)

可用时

BindingOperations.ClearBinding(txtName, TextBox.TextProperty)

对于较旧的 SilverLight 版本,但如注释中所述不可靠:

txtName.SetBinding(TextBox.TextProperty, null);

已启用 C# 6.0 功能

this.btnFinish.ClearBinding(ButtonBase.CommandProperty);

怎么样:

this.ClearValue(TextBox.TextProperty);

我认为它更干净;)

怎么样只是

txtName.Text = txtName.Text;

无论如何,您必须在清除后设置该值。这至少在 SL4 中有效。