Răsfoiți Sursa

Moved caret visibility decision to helper method and called that method in OnTemplateApplied also

[email protected] 7 ani în urmă
părinte
comite
06dbc91583
1 a modificat fișierele cu 10 adăugiri și 5 ștergeri
  1. 10 5
      src/Avalonia.Controls/TextBox.cs

+ 10 - 5
src/Avalonia.Controls/TextBox.cs

@@ -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);