Самый простой способ сделать это - использовать свойство UpdateSourceTrigger в привязке. Возможно, вы не сможете точно соответствовать своему текущему поведению, но вы можете обнаружить, что оно сопоставимо.
Свойство UpdateSourceTrigger определяет, когда цель привязки обновляет источник. Различные элементы управления WPF имеют разные значения по умолчанию для этого свойства при привязке.
Вот ваши варианты:
UpdateSourceTrigger.Default = Разрешить целевому элементу управления определять режим UpdateSourceTrigger.
UpdateSourceTrigger.Explicit = Обновлять источник, только когда кто-то вызывает BindingExpression.UpdateSource ();
UpdateSourceTrigger.LostFocus = Автоматически обновлять источник привязки всякий раз, когда цель теряет фокус. Таким образом, изменение может быть завершено, а затем привязка обновляется после того, как пользователь переходит.
UpdateSourceTrigger.PropertyChanged = Всякий раз, когда свойство DependencyProperty в целевом объекте изменяет значения, источник обновляется немедленно. Большинство UserControls не используют это свойство по умолчанию, поскольку оно требует большего количества обязательных обновлений (может быть проблема с производительностью).