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));
}