Ответ 1
Когда доступно
BindingOperations.ClearBinding(txtName, TextBox.TextProperty)
Для старых версий SilverLight, но не надежных, как указано в комментариях:
txtName.SetBinding(TextBox.TextProperty, null);
Я хотел бы использовать привязку данных при отображении данных в TextBox. Я в основном делаю, как:
public void ShowRandomObject(IRandomObject randomObject) {
Binding binding = new Binding {Source = randomObject, Path = new PropertyPath("Name")};
txtName.SetBinding(TextBox.TextProperty, binding);
}
Я не могу найти способ снять привязку. Я буду называть этот метод множеством разных объектов, но 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;
Вам нужно будет установить значение после его очистки. Это работает в SL4 по крайней мере.