Если у вас есть доступ к объекту Binding
, вы можете установить для его свойства UpdateSourceTrigger
значение Explicit
, что предотвратит автоматическое обновление.
EDIT
Возможно, что-то вроде этого
UpdateSourceTrigger old;
protected override void OnGotFocus(RoutedEventArgs e)
{
Binding b = BindingOperations.GetBinding(textBox1, TextBox.TextProperty);
old = b.UpdateSourceTrigger;
b.UpdateSourceTrigger = UpdateSourceTrigger.Explicit;
}
protected override void OnLostFocus(RoutedEventArgs e)
{
Binding b = BindingOperations.GetBinding(textBox1, TextBox.TextProperty);
b.UpdateSourceTrigger = old;
}
Конечно, это короткая форма, без проверки нуля и т. Д.