diff --git a/src/Views/PopupDataTemplates.cs b/src/Views/PopupDataTemplates.cs index bfb2673aa..ffb20904c 100644 --- a/src/Views/PopupDataTemplates.cs +++ b/src/Views/PopupDataTemplates.cs @@ -1,4 +1,6 @@ -using Avalonia.Controls; +using System.Linq; + +using Avalonia.Controls; using Avalonia.Controls.Templates; using Avalonia.Input; using Avalonia.VisualTree; @@ -35,6 +37,22 @@ public Control Build(object param) return; } } + + var host = ctl.GetVisualAncestors().OfType().FirstOrDefault(c => c.Name == "PopupPanel"); + if (host == null) + return; + + foreach (var input in host.GetVisualDescendants()) + { + if (input is SelectableTextBlock) + continue; + + if (input is Control { Focusable: true, IsVisible: true, IsEffectivelyVisible: true, IsEffectivelyEnabled: true } focusable) + { + focusable.Focus(NavigationMethod.Directional); + return; + } + } }; return control;