Remove binding in WPF using code
I would like to use databinding when displaying data in a TextBox. I'm basically doing like:
public void ShowRandomObject(IRandomObject randomObject) {
Binding binding = new Binding {Source = randomObject, Path = new PropertyPath("Name")};
txtName.SetBinding(TextBox.TextProperty, binding);
}
I can't seem to find a way to unset the binding. I will be calling this method with a lot of different objects but the TextBox will remain the same. Is there a way to remove the previous binding or is this done automatically when I set the new binding?
Alternately:
BindingOperations.ClearBinding(txtName, TextBox.TextProperty)
When available
BindingOperations.ClearBinding(txtName, TextBox.TextProperty)
For older SilverLight versions, but not reliable as stated in comments:
txtName.SetBinding(TextBox.TextProperty, null);
C# 6.0 features enabled
this.btnFinish.ClearBinding(ButtonBase.CommandProperty);
How about:
this.ClearValue(TextBox.TextProperty);
It's much cleaner I think ;)