diff --git a/src/Avalonia.Controls/Presenters/TextPresenter.cs b/src/Avalonia.Controls/Presenters/TextPresenter.cs index 0ae27a520f..85feda6f77 100644 --- a/src/Avalonia.Controls/Presenters/TextPresenter.cs +++ b/src/Avalonia.Controls/Presenters/TextPresenter.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Diagnostics; +using Avalonia.Data; using Avalonia.Media; using Avalonia.Media.TextFormatting; using Avalonia.Metadata; @@ -17,7 +18,7 @@ namespace Avalonia.Controls.Presenters public static readonly DirectProperty CaretIndexProperty = TextBox.CaretIndexProperty.AddOwner( o => o.CaretIndex, - (o, v) => o.CaretIndex = v); + (o, v) => o.CaretIndex = v, defaultBindingMode: BindingMode.TwoWay); public static readonly StyledProperty RevealPasswordProperty = AvaloniaProperty.Register(nameof(RevealPassword)); diff --git a/src/Avalonia.Controls/TextBox.cs b/src/Avalonia.Controls/TextBox.cs index b8b46dac6e..4ec0c4c5e1 100644 --- a/src/Avalonia.Controls/TextBox.cs +++ b/src/Avalonia.Controls/TextBox.cs @@ -939,6 +939,10 @@ namespace Avalonia.Controls { SelectionEnd = _presenter.CaretIndex; } + else + { + SelectionStart = SelectionEnd = _presenter.CaretIndex; + } break; } @@ -957,6 +961,10 @@ namespace Avalonia.Controls { SelectionEnd = _presenter.CaretIndex; } + else + { + SelectionStart = SelectionEnd = _presenter.CaretIndex; + } break; }