使用代码删除WPF中的绑定

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

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

我似乎无法find解除绑定的方法。 我将用很多不同的对象调用这个方法,但是TextBox将保持不变。 有没有办法删除以前的绑定,或者当我设置新的绑定自动完成?

有空的时候

 BindingOperations.ClearBinding(txtName, TextBox.TextProperty) 

对于较老的SilverLight版本,但不可靠,如评论中所述:

 txtName.SetBinding(TextBox.TextProperty, null); 

交替:

 BindingOperations.ClearBinding(txtName, TextBox.TextProperty) 

怎么样:

 this.ClearValue(TextBox.TextProperty); 

我觉得它更清洁;)

那么刚刚

 txtName.Text = txtName.Text; 

无论如何,您必须清除后设置值。 这至less在SL4中起作用。