diff --git a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs index 6a7da87387..278e498a67 100644 --- a/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs +++ b/src/Avalonia.Controls/Flyouts/MenuFlyoutPresenter.cs @@ -11,9 +11,14 @@ namespace Avalonia.Controls public MenuFlyoutPresenter() :base(new DefaultMenuInteractionHandler(true)) { + } + public MenuFlyoutPresenter(IMenuInteractionHandler menuInteractionHandler) + : base(menuInteractionHandler) + { } + public override void Close() { // DefaultMenuInteractionHandler calls this diff --git a/src/Avalonia.Controls/MenuBase.cs b/src/Avalonia.Controls/MenuBase.cs index 122d45d033..54cbc46a36 100644 --- a/src/Avalonia.Controls/MenuBase.cs +++ b/src/Avalonia.Controls/MenuBase.cs @@ -40,7 +40,7 @@ namespace Avalonia.Controls /// /// Initializes a new instance of the class. /// - public MenuBase() + protected MenuBase() { InteractionHandler = new DefaultMenuInteractionHandler(false); } @@ -49,7 +49,7 @@ namespace Avalonia.Controls /// Initializes a new instance of the class. /// /// The menu interaction handler. - public MenuBase(IMenuInteractionHandler interactionHandler) + protected MenuBase(IMenuInteractionHandler interactionHandler) { InteractionHandler = interactionHandler ?? throw new ArgumentNullException(nameof(interactionHandler)); }