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