Если вы используете MVVM, вы можете использовать комбинацию подхода decastelijau вместе с пользовательским вложенным свойством, которое вызывает UpdateSource для текстового поля при PreviewKeyUp.
public static readonly DependencyProperty UpdateSourceOnKey = DependencyProperty.RegisterAttached(
"UpdateSourceOnKey",
typeof(Key),
typeof(TextBox),
new FrameworkPropertyMetadata(false)
);
public static void SetUpdateSourceOnKey(UIElement element, Key value)
{
//TODO: wire up specified key down event handler here
element.SetValue(UpdateSourceOnKey, value);
}
public static Boolean GetUpdateSourceOnKey(UIElement element)
{
return (Key)element.GetValue(UpdateSourceOnKey);
}
Тогда вы можете сделать:
<TextBox myprops:UpdaterProps.UpdateSourceOnKey="Enter" ... />