|
|
|
@ -262,7 +262,7 @@ namespace Avalonia.Controls |
|
|
|
|
|
|
|
if (IsFocused) |
|
|
|
{ |
|
|
|
_presenter.ShowCaret(); |
|
|
|
DecideCaretVisibility(); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -282,15 +282,20 @@ namespace Avalonia.Controls |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
if (!IsReadOnly) |
|
|
|
_presenter?.ShowCaret(); |
|
|
|
else |
|
|
|
_presenter?.HideCaret(); |
|
|
|
DecideCaretVisibility(); |
|
|
|
} |
|
|
|
|
|
|
|
e.Handled = true; |
|
|
|
} |
|
|
|
|
|
|
|
private void DecideCaretVisibility() |
|
|
|
{ |
|
|
|
if (!IsReadOnly || IsReadOnlyCaretVisible) |
|
|
|
_presenter?.ShowCaret(); |
|
|
|
else |
|
|
|
_presenter?.HideCaret(); |
|
|
|
} |
|
|
|
|
|
|
|
protected override void OnLostFocus(RoutedEventArgs e) |
|
|
|
{ |
|
|
|
base.OnLostFocus(e); |
|
|
|
|