diff --git a/src/Avalonia.Controls/Flyouts/MenuFlyout.cs b/src/Avalonia.Controls/Flyouts/MenuFlyout.cs index 97fda68051..b028a8f007 100644 --- a/src/Avalonia.Controls/Flyouts/MenuFlyout.cs +++ b/src/Avalonia.Controls/Flyouts/MenuFlyout.cs @@ -3,6 +3,7 @@ using Avalonia.Collections; using Avalonia.Controls.Primitives; using Avalonia.Controls.Templates; using Avalonia.Metadata; +using Avalonia.Styling; namespace Avalonia.Controls { @@ -27,6 +28,12 @@ namespace Avalonia.Controls AvaloniaProperty.RegisterDirect(nameof(ItemTemplate), x => x.ItemTemplate, (x, v) => x.ItemTemplate = v); + /// + /// Defines the property. + /// + public static readonly StyledProperty ItemContainerThemeProperty = + ItemsControl.ItemContainerThemeProperty.AddOwner(); + public Classes FlyoutPresenterClasses => _classes ??= new Classes(); /// @@ -48,6 +55,15 @@ namespace Avalonia.Controls set => SetAndRaise(ItemTemplateProperty, ref _itemTemplate, value); } + /// + /// Gets or sets the that is applied to the container element generated for each item. + /// + public ControlTheme? ItemContainerTheme + { + get { return GetValue(ItemContainerThemeProperty); } + set { SetValue(ItemContainerThemeProperty, value); } + } + private Classes? _classes; private IEnumerable? _items; private IDataTemplate? _itemTemplate; @@ -57,7 +73,8 @@ namespace Avalonia.Controls return new MenuFlyoutPresenter { [!ItemsControl.ItemsProperty] = this[!ItemsProperty], - [!ItemsControl.ItemTemplateProperty] = this[!ItemTemplateProperty] + [!ItemsControl.ItemTemplateProperty] = this[!ItemTemplateProperty], + [!ItemsControl.ItemContainerThemeProperty] = this[!ItemContainerThemeProperty], }; } diff --git a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs index 7aca21b42e..594d7da2fb 100644 --- a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs +++ b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs @@ -1,5 +1,4 @@ using System; -using Avalonia.Controls.Generators; using Avalonia.Controls.Platform; using Avalonia.Controls.Primitives; using Avalonia.LogicalTree;