diff --git a/src/Avalonia.Controls/TextBox.cs b/src/Avalonia.Controls/TextBox.cs index c36b17b505..1292b332b1 100644 --- a/src/Avalonia.Controls/TextBox.cs +++ b/src/Avalonia.Controls/TextBox.cs @@ -1063,7 +1063,15 @@ namespace Avalonia.Controls _undoRedoHelper.DiscardRedo(); } - SetCurrentValue(CaretIndexProperty, caretIndex + input.Length); + //Make sure updated text is in sync + _presenter?.SetCurrentValue(TextPresenter.TextProperty, text); + + caretIndex += input.Length; + + //Make sure caret is in sync + _presenter?.MoveCaretToTextPosition(caretIndex); + + SetCurrentValue(CaretIndexProperty, caretIndex); } }