diff --git a/src/Avalonia.Controls/ComboBox.cs b/src/Avalonia.Controls/ComboBox.cs index e6af255c29..a573a9d887 100644 --- a/src/Avalonia.Controls/ComboBox.cs +++ b/src/Avalonia.Controls/ComboBox.cs @@ -440,15 +440,14 @@ namespace Avalonia.Controls private void SelectFocusedItem() { - throw new NotImplementedException(); - ////foreach (ItemContainerInfo dropdownItem in ItemContainerGenerator.Containers) - ////{ - //// if (dropdownItem.ContainerControl.IsFocused) - //// { - //// SelectedIndex = dropdownItem.Index; - //// break; - //// } - ////} + foreach (var dropdownItem in GetRealizedContainers()) + { + if (dropdownItem.IsFocused) + { + SelectedIndex = IndexFromContainer(dropdownItem); + break; + } + } } private void SelectNext() diff --git a/src/Avalonia.Controls/ItemsControl.cs b/src/Avalonia.Controls/ItemsControl.cs index 31f8f31875..e07eea57ef 100644 --- a/src/Avalonia.Controls/ItemsControl.cs +++ b/src/Avalonia.Controls/ItemsControl.cs @@ -419,8 +419,7 @@ namespace Avalonia.Controls } else if (change.Property == ItemContainerThemeProperty && _itemContainerGenerator is not null) { - throw new NotImplementedException(); - ////_itemContainerGenerator.ItemContainerTheme = change.GetNewValue(); + RefreshContainers(); } else if (change.Property == ItemTemplateProperty) { diff --git a/src/Avalonia.Controls/MenuBase.cs b/src/Avalonia.Controls/MenuBase.cs index 3b211d4cc7..3bbd5b7de4 100644 --- a/src/Avalonia.Controls/MenuBase.cs +++ b/src/Avalonia.Controls/MenuBase.cs @@ -95,16 +95,7 @@ namespace Avalonia.Controls } /// - IEnumerable IMenuElement.SubItems - { - get - { - throw new NotImplementedException(); - ////return ItemContainerGenerator.Containers - //// .Select(x => x.ContainerControl) - //// .OfType(); - } - } + IEnumerable IMenuElement.SubItems => GetRealizedContainers().OfType(); /// /// Gets the interaction handler for the menu.