From 82bd3564a5de5db3f02a72d14d1679b42f482fc3 Mon Sep 17 00:00:00 2001 From: Maksym Katsydan Date: Tue, 30 Jun 2020 22:53:11 -0400 Subject: [PATCH] ComboBox: add focusvisual pseudoclass to replace focus adorner --- src/Avalonia.Controls/ComboBox.cs | 15 +++++++++++++++ src/Avalonia.Themes.Fluent/ComboBox.xaml | 8 ++++---- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/src/Avalonia.Controls/ComboBox.cs b/src/Avalonia.Controls/ComboBox.cs index 6557346b1f..5fdc19ed05 100644 --- a/src/Avalonia.Controls/ComboBox.cs +++ b/src/Avalonia.Controls/ComboBox.cs @@ -262,6 +262,21 @@ namespace Avalonia.Controls _popup.Closed += PopupClosed; } + protected override void OnGotFocus(GotFocusEventArgs e) + { + if (e.NavigationMethod == NavigationMethod.Tab + || e.NavigationMethod == NavigationMethod.Directional) + { + PseudoClasses.Set(":focusvisual", true); + } + } + + protected override void OnLostFocus(RoutedEventArgs e) + { + base.OnLostFocus(e); + PseudoClasses.Set(":focusvisual", false); + } + /// /// Called when the ComboBox popup is closed, with the /// that caused the popup to close. diff --git a/src/Avalonia.Themes.Fluent/ComboBox.xaml b/src/Avalonia.Themes.Fluent/ComboBox.xaml index 8cac89f156..7ece004530 100644 --- a/src/Avalonia.Themes.Fluent/ComboBox.xaml +++ b/src/Avalonia.Themes.Fluent/ComboBox.xaml @@ -191,20 +191,20 @@ - - - -