diff --git a/src/Avalonia.Controls/TextBox.cs b/src/Avalonia.Controls/TextBox.cs index 44d1a1c489..1d75f08a41 100644 --- a/src/Avalonia.Controls/TextBox.cs +++ b/src/Avalonia.Controls/TextBox.cs @@ -528,11 +528,11 @@ namespace Avalonia.Controls string text = Text ?? string.Empty; int caretIndex = CaretIndex; - int estimatedLength = input.Length + text.Length - Math.Abs(SelectionStart - SelectionEnd); + int newLength = input.Length + text.Length - Math.Abs(SelectionStart - SelectionEnd); - if (MaxLength > 0 && estimatedLength > MaxLength) + if (MaxLength > 0 && newLength > MaxLength) { - input = input.Remove(Math.Max(0, input.Length - (estimatedLength - MaxLength))); + input = input.Remove(Math.Max(0, input.Length - (newLength - MaxLength))); } if (!string.IsNullOrEmpty(input))