From f3740dd214cf8ca7f1890663fe4a48496a8f1fcf Mon Sep 17 00:00:00 2001 From: Benedikt Stebner Date: Tue, 8 Feb 2022 07:47:57 +0100 Subject: [PATCH] Fix vertical caret navigation caret update --- src/Avalonia.Controls/Presenters/TextPresenter.cs | 3 ++- src/Avalonia.Controls/TextBox.cs | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) 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; }