/
vasiukoff
/
sg
Обзор
Документация
Войти
/
vasiukoff
/
sg
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/Views/AutoFocusBehaviour.cs
42 строки
1 KB
leo
code_style: remove all IDE warnings
14 июл 2024, 10:55
14 июл 2024, 10:55
a807aa9
Код
Авторство
О чём код?
using Avalonia; using Avalonia.Controls; using Avalonia.Input; namespace SourceGit.Views { public class AutoFocusBehaviour : AvaloniaObject { public static readonly AttachedProperty<bool> IsEnabledProperty = AvaloniaProperty.RegisterAttached<AutoFocusBehaviour, TextBox, bool>("IsEnabled"); static AutoFocusBehaviour() { IsEnabledProperty.Changed.AddClassHandler<TextBox>(OnIsEnabledChanged); } public static bool GetIsEnabled(AvaloniaObject elem) { return elem.GetValue(IsEnabledProperty); } public static void SetIsEnabled(AvaloniaObject elem, bool value) { elem.SetValue(IsEnabledProperty, value); } private static void OnIsEnabledChanged(TextBox elem, AvaloniaPropertyChangedEventArgs e) { if (GetIsEnabled(elem)) { elem.AttachedToVisualTree += (o, _) => { if (o is TextBox box) { box.Focus(NavigationMethod.Directional); box.CaretIndex = box.Text?.Length ?? 0; } }; } } } }