Browse Source

Set OverlayInputPassThroughElement in MenuItem template.

pull/4099/head
Steven Kirk 6 years ago
parent
commit
db648cc6f8
  1. 14
      src/Avalonia.Controls/Menu.cs
  2. 3
      src/Avalonia.Themes.Fluent/MenuItem.xaml

14
src/Avalonia.Controls/Menu.cs

@ -48,13 +48,6 @@ namespace Avalonia.Controls
return; return;
} }
if (_overlay?.InputPassThroughElement == this)
{
_overlay.InputPassThroughElement = null;
}
_overlay = null;
foreach (var i in ((IMenu)this).SubItems) foreach (var i in ((IMenu)this).SubItems)
{ {
i.Close(); i.Close();
@ -78,13 +71,6 @@ namespace Avalonia.Controls
return; return;
} }
_overlay = LightDismissOverlayLayer.GetLightDismissOverlayLayer(this);
if (_overlay is object)
{
_overlay.InputPassThroughElement = this;
}
IsOpen = true; IsOpen = true;
RaiseEvent(new RoutedEventArgs RaiseEvent(new RoutedEventArgs

3
src/Avalonia.Themes.Fluent/MenuItem.xaml

@ -161,7 +161,8 @@
WindowManagerAddShadowHint="False" WindowManagerAddShadowHint="False"
MinWidth="{Binding Bounds.Width, RelativeSource={RelativeSource TemplatedParent}}" MinWidth="{Binding Bounds.Width, RelativeSource={RelativeSource TemplatedParent}}"
IsLightDismissEnabled="True" IsLightDismissEnabled="True"
IsOpen="{TemplateBinding IsSubMenuOpen, Mode=TwoWay}"> IsOpen="{TemplateBinding IsSubMenuOpen, Mode=TwoWay}"
OverlayInputPassThroughElement="{Binding $parent[Menu]}">
<Border Background="{DynamicResource MenuFlyoutPresenterBackground}" <Border Background="{DynamicResource MenuFlyoutPresenterBackground}"
BorderBrush="{DynamicResource MenuFlyoutPresenterBorderBrush}" BorderBrush="{DynamicResource MenuFlyoutPresenterBorderBrush}"
BorderThickness="{DynamicResource MenuFlyoutPresenterBorderThemeThickness}" BorderThickness="{DynamicResource MenuFlyoutPresenterBorderThemeThickness}"

Loading…
Cancel
Save