diff --git a/src/Avalonia.Controls/MenuItem.cs b/src/Avalonia.Controls/MenuItem.cs index b08519963b..912abc6de3 100644 --- a/src/Avalonia.Controls/MenuItem.cs +++ b/src/Avalonia.Controls/MenuItem.cs @@ -105,6 +105,7 @@ namespace Avalonia.Controls static MenuItem() { SelectableMixin.Attach(IsSelectedProperty); + PressedMixin.Attach(); CommandProperty.Changed.Subscribe(CommandChanged); FocusableProperty.OverrideDefaultValue(true); HeaderProperty.Changed.AddClassHandler((x, e) => x.HeaderChanged(e)); @@ -534,11 +535,13 @@ namespace Avalonia.Controls if (oldValue != null) { LogicalChildren.Remove(oldValue); + PseudoClasses.Remove(":icon"); } if (newValue != null) { LogicalChildren.Add(newValue); + PseudoClasses.Add(":icon"); } } @@ -566,11 +569,13 @@ namespace Avalonia.Controls { RaiseEvent(new RoutedEventArgs(SubmenuOpenedEvent)); IsSelected = true; + PseudoClasses.Add(":open"); } else { CloseSubmenus(); SelectedIndex = -1; + PseudoClasses.Remove(":open"); } } diff --git a/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml b/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml index 44318ffa8f..0bea6c5781 100644 --- a/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/BaseDark.xaml @@ -138,6 +138,9 @@ + + + diff --git a/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml b/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml index e43a7ab4e7..ef296faa60 100644 --- a/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/BaseLight.xaml @@ -138,6 +138,9 @@ + + + diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml index cc35de185d..467f1f4ede 100644 --- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesDark.xaml @@ -251,13 +251,56 @@ - 1 + 1 + 32 + 0,0 + + 12,0,0,0 + + 12,4,12,4 + + + + + + + + + + + + + + + + + + + + + + 11,9,11,10 11,4,11,7 1 - + + --> + --> + diff --git a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml index edbf68951f..a85b40893d 100644 --- a/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml +++ b/src/Avalonia.Themes.Fluent/Accents/FluentControlResourcesLight.xaml @@ -250,14 +250,57 @@ - 1 + 1 + 32 + 0,0 + + 12,0,0,0 + + 12,4,12,4 + + + + + + + + + + + + + + + + + + + + + 11,9,11,10 11,4,11,7 1 - + + --> + --> diff --git a/src/Avalonia.Themes.Fluent/Common.xaml b/src/Avalonia.Themes.Fluent/Common.xaml new file mode 100644 index 0000000000..e09e39d7cb --- /dev/null +++ b/src/Avalonia.Themes.Fluent/Common.xaml @@ -0,0 +1,6 @@ + + + diff --git a/src/Avalonia.Themes.Fluent/ContextMenu.xaml b/src/Avalonia.Themes.Fluent/ContextMenu.xaml index 9a583e2e30..44783a8dea 100644 --- a/src/Avalonia.Themes.Fluent/ContextMenu.xaml +++ b/src/Avalonia.Themes.Fluent/ContextMenu.xaml @@ -1,24 +1,60 @@ - - - - + + + + + + - + + - + + + + + + + + + + + + diff --git a/src/Avalonia.Themes.Fluent/Separator.xaml b/src/Avalonia.Themes.Fluent/Separator.xaml index cf0db16ee6..dc968fe86c 100644 --- a/src/Avalonia.Themes.Fluent/Separator.xaml +++ b/src/Avalonia.Themes.Fluent/Separator.xaml @@ -4,17 +4,15 @@ - - -