Вы можете использовать Поведение, которое ловит независимо от (нажатия клавиш, изменения значений и т. Д.) И принудительно обновлять привязку данных.
Я написал аналогичное для использования в TextBox в Silverlight, посколькув Silverlight невозможно изменить UpdateSourceTrigger, как в WPF.
Вы можете использовать следующий код и внести необходимые изменения:
public class TextBoxUpdateBehavior : Behavior<TextBox>
{
public TextBoxUpdateBehavior()
{
}
protected override void OnAttached()
{
base.OnAttached();
AssociatedObject.TextChanged += AssociatedObjectOnTextChanged;
}
private void AssociatedObjectOnTextChanged(object sender, TextChangedEventArgs args)
{
var bindingExpr = AssociatedObject.GetBindingExpression(TextBox.TextProperty);
bindingExpr.UpdateSource();
}
protected override void OnDetaching()
{
base.OnDetaching();
AssociatedObject.TextChanged -= AssociatedObjectOnTextChanged;
}
}