Files
Shrlalgo.RvKits/WPFluent/Controls/Menu/MenuItem.xaml

895 lines
40 KiB
XML

<!--
This Source Code Form is subject to the terms of the MIT License.
If a copy of the MIT was not distributed with this file, You can obtain one at https://opensource.org/licenses/MIT.
Copyright (C) Leszek Pomianowski and WPF UI Contributors.
All Rights Reserved.
-->
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:controls="clr-namespace:WPFluent.Controls">
<Style
x:Key="UiMenuItemScrollViewer"
BasedOn="{StaticResource {x:Type ScrollViewer}}"
TargetType="{x:Type ScrollViewer}">
<Setter Property="HorizontalScrollBarVisibility" Value="Disabled" />
<Setter Property="VerticalScrollBarVisibility" Value="Auto" />
</Style>
<!--
DEFAULT WPF MENU ITEM
-->
<Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}">
<Setter Property="BorderBrush" Value="{DynamicResource MenuBarItemBorderBrush}" />
<Setter Property="Background" Value="Transparent" />
<Setter Property="Margin" Value="0,1,0,1" />
<Setter Property="BorderThickness" Value="1,1,0,0" />
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Separator}">
<Border
Width="{TemplateBinding Width}"
Margin="{TemplateBinding Margin}"
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="{TemplateBinding BorderThickness}" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<!-- TopLevelHeader -->
<ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<Border
x:Name="Border"
Margin="4"
Background="Transparent"
CornerRadius="6">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ContentPresenter
x:Name="Icon"
Grid.Column="0"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}" />
<ContentPresenter
x:Name="HeaderPresenter"
Grid.Column="1"
VerticalAlignment="Center"
ContentSource="Header"
RecognizesAccessKey="True"
TextElement.Foreground="{TemplateBinding Foreground}" />
</Grid>
<Popup
x:Name="Popup"
Grid.Row="1"
Grid.Column="0"
AllowsTransparency="True"
Focusable="False"
HorizontalOffset="-12"
IsOpen="{TemplateBinding IsSubmenuOpen}"
Placement="Bottom"
PlacementTarget="{Binding ElementName=Border}"
PopupAnimation="None"
VerticalOffset="1">
<Grid>
<Border
x:Name="SubmenuBorder"
Margin="12,0,12,18"
Padding="0,3,0,3"
Background="{DynamicResource FlyoutBackground}"
BorderBrush="{DynamicResource FlyoutBorderBrush}"
BorderThickness="1"
CornerRadius="8"
SnapsToDevicePixels="True">
<Border.RenderTransform>
<TranslateTransform />
</Border.RenderTransform>
<controls:PassiveScrollViewer CanContentScroll="True" Style="{StaticResource UiMenuItemScrollViewer}">
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
</controls:PassiveScrollViewer>
<Border.Effect>
<DropShadowEffect
BlurRadius="20"
Direction="270"
Opacity="0.25"
ShadowDepth="6" />
</Border.Effect>
</Border>
</Grid>
</Popup>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="Icon" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Header" Value="{x:Null}">
<Setter TargetName="Icon" Property="Margin" Value="0" />
<Setter TargetName="HeaderPresenter" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSubmenuOpen" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="SubmenuBorder"
Storyboard.TargetProperty="(Border.RenderTransform).(TranslateTransform.Y)"
From="-90"
To="0"
Duration="00:00:00.167">
<DoubleAnimation.EasingFunction>
<CircleEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- TopLevelItem -->
<ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="{x:Type MenuItem}">
<Border
x:Name="Border"
Margin="4"
Background="Transparent"
CornerRadius="6">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ContentPresenter
x:Name="Icon"
Grid.Column="0"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
x:Name="HeaderPresenter"
Grid.Column="1"
VerticalAlignment="Center"
ContentSource="Header"
RecognizesAccessKey="True"
TextElement.Foreground="{TemplateBinding Foreground}" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="Icon" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="Header" Value="{x:Null}">
<Setter TargetName="Icon" Property="Margin" Value="0" />
<Setter TargetName="HeaderPresenter" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- SubmenuItem -->
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuItemTemplateKey}" TargetType="{x:Type MenuItem}">
<Border
x:Name="Border"
Margin="4,1,4,1"
Background="Transparent"
CornerRadius="4">
<Grid Margin="8,6,8,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Shortcut" />
</Grid.ColumnDefinitions>
<Border
x:Name="CheckBoxIconBorder"
Grid.Column="0"
Width="20"
Height="20"
Margin="0,0,6,0"
VerticalAlignment="Center"
BorderThickness="1"
CornerRadius="4"
Visibility="Collapsed">
<TextBlock
x:Name="CheckBoxIcon"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="{DynamicResource FluentSystemIcons}"
FontSize="16"
Text=""
TextAlignment="Center" />
</Border>
<ContentPresenter
x:Name="Icon"
Grid.Column="1"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
Grid.Column="2"
ContentSource="Header"
RecognizesAccessKey="True"
TextElement.Foreground="{TemplateBinding Foreground}" />
<TextBlock
x:Name="InputGestureText"
Grid.Column="3"
Margin="25,0,0,0"
VerticalAlignment="Bottom"
DockPanel.Dock="Right"
FontSize="11"
Foreground="{DynamicResource TextFillColorDisabledBrush}"
Text="{TemplateBinding InputGestureText}" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="Icon" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsCheckable" Value="True">
<Setter TargetName="CheckBoxIconBorder" Property="Visibility" Value="Visible" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="CheckBoxIcon" Property="Text" Value="&#xF294;" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="InputGestureText" Value="">
<Setter TargetName="InputGestureText" Property="Visibility" Value="Collapsed" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- SubItem with Subitems -->
<ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="{x:Type MenuItem}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border
x:Name="Border"
Grid.Row="1"
Margin="4,1,4,1"
BorderThickness="1"
CornerRadius="4">
<Grid x:Name="MenuItemContent" Margin="8,6,8,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentPresenter
x:Name="Icon"
Grid.Column="0"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
x:Name="HeaderHost"
Grid.Column="1"
ContentSource="Header"
RecognizesAccessKey="True" />
<Grid Grid.Column="2">
<controls:SymbolIcon
x:Name="Chevron"
Margin="0,3,0,0"
VerticalAlignment="Center"
FontSize="{TemplateBinding FontSize}"
Symbol="ChevronRight20" />
</Grid>
</Grid>
</Border>
<Popup
x:Name="Popup"
Grid.Row="1"
AllowsTransparency="True"
Focusable="False"
IsOpen="{TemplateBinding IsSubmenuOpen}"
Placement="Right"
PlacementTarget="{Binding ElementName=MenuItemContent}"
PopupAnimation="None"
VerticalOffset="-20">
<Grid>
<Border
x:Name="SubmenuBorder"
Margin="12,10,12,18"
Padding="0,3,0,3"
Background="{DynamicResource FlyoutBackground}"
BorderBrush="{DynamicResource FlyoutBorderBrush}"
BorderThickness="1"
CornerRadius="8"
SnapsToDevicePixels="True">
<Border.RenderTransform>
<TranslateTransform />
</Border.RenderTransform>
<controls:PassiveScrollViewer CanContentScroll="True" Style="{StaticResource UiMenuItemScrollViewer}">
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
</controls:PassiveScrollViewer>
<Border.Effect>
<DropShadowEffect
BlurRadius="20"
Direction="270"
Opacity="0.5"
ShadowDepth="6" />
</Border.Effect>
</Border>
</Grid>
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="Icon" Property="Visibility" Value="Collapsed" />
<Setter TargetName="Icon" Property="Margin" Value="0" />
</Trigger>
<Trigger Property="IsHighlighted" Value="true">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<!--<Trigger SourceName="Popup" Property="AllowsTransparency" Value="True">
<Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="4" />
<Setter TargetName="SubmenuBorder" Property="Padding" Value="0,3,0,3" />
</Trigger>-->
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
<Setter TargetName="Chevron" Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSubmenuOpen" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="SubmenuBorder"
Storyboard.TargetProperty="(Border.RenderTransform).(TranslateTransform.Y)"
From="-90"
To="0"
Duration="00:00:00.167">
<DoubleAnimation.EasingFunction>
<CircleEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<Style x:Key="UiMenuItem" TargetType="{x:Type MenuItem}">
<Setter Property="FocusVisualStyle" Value="{DynamicResource DefaultControlFocusVisualStyle}" />
<Setter Property="KeyboardNavigation.IsTabStop" Value="True" />
<Setter Property="Focusable" Value="True" />
<Setter Property="OverridesDefaultStyle" Value="True" />
<Style.Triggers>
<Trigger Property="Role" Value="TopLevelHeader">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.TopLevelHeaderTemplateKey}}" />
<Setter Property="Grid.IsSharedSizeScope" Value="True" />
</Trigger>
<Trigger Property="Role" Value="TopLevelItem">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.TopLevelItemTemplateKey}}" />
</Trigger>
<Trigger Property="Role" Value="SubmenuHeader">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.SubmenuHeaderTemplateKey}}" />
</Trigger>
<Trigger Property="Role" Value="SubmenuItem">
<Setter Property="Template" Value="{StaticResource {x:Static MenuItem.SubmenuItemTemplateKey}}" />
</Trigger>
</Style.Triggers>
</Style>
<Style
x:Key="{x:Type MenuItem}"
BasedOn="{StaticResource UiMenuItem}"
TargetType="{x:Type MenuItem}" />
<!--
WPF UI MENU ITEM
-->
<!-- TopLevelHeader -->
<ControlTemplate x:Key="WpfUiMenuItemTopLevelHeaderTemplateKey" TargetType="{x:Type controls:MenuItem}">
<Border
x:Name="Border"
Margin="4"
Background="Transparent"
CornerRadius="6">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ContentControl
x:Name="IconElement"
Grid.Column="0"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
FontSize="{TemplateBinding FontSize}"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
x:Name="HeaderPresenter"
Grid.Column="2"
VerticalAlignment="Center"
ContentSource="Header"
RecognizesAccessKey="True"
TextElement.Foreground="{TemplateBinding Foreground}" />
</Grid>
<Popup
x:Name="Popup"
Grid.Row="1"
Grid.Column="0"
Grid.ColumnSpan="2"
AllowsTransparency="True"
Focusable="False"
HorizontalOffset="-12"
IsOpen="{TemplateBinding IsSubmenuOpen}"
Placement="Bottom"
PlacementTarget="{Binding ElementName=Border}"
PopupAnimation="None"
VerticalOffset="1">
<Grid>
<Border
x:Name="SubmenuBorder"
Margin="12,0,12,18"
Padding="0,3,0,3"
Background="{DynamicResource FlyoutBackground}"
BorderBrush="{DynamicResource FlyoutBorderBrush}"
BorderThickness="1"
CornerRadius="8"
SnapsToDevicePixels="True">
<Border.RenderTransform>
<TranslateTransform />
</Border.RenderTransform>
<controls:PassiveScrollViewer CanContentScroll="True" Style="{StaticResource UiMenuItemScrollViewer}">
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
</controls:PassiveScrollViewer>
<Border.Effect>
<DropShadowEffect
BlurRadius="20"
Direction="270"
Opacity="0.25"
ShadowDepth="6" />
</Border.Effect>
</Border>
</Grid>
</Popup>
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Visibility" Value="Collapsed" />
<Setter TargetName="IconElement" Property="Margin" Value="0" />
</Trigger>
<Trigger Property="Header" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Margin" Value="0" />
<Setter TargetName="HeaderPresenter" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSubmenuOpen" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="SubmenuBorder"
Storyboard.TargetProperty="(Border.RenderTransform).(TranslateTransform.Y)"
From="-90"
To="0"
Duration="00:00:00.167">
<DoubleAnimation.EasingFunction>
<CircleEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- TopLevelItem -->
<ControlTemplate x:Key="WpfUiMenuItemTopLevelItemTemplateKey" TargetType="{x:Type controls:MenuItem}">
<Border
x:Name="Border"
Margin="4"
Background="Transparent"
CornerRadius="6">
<Grid Margin="10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ContentControl
x:Name="IconElement"
Grid.Column="0"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
FontSize="{TemplateBinding FontSize}"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
x:Name="HeaderPresenter"
Grid.Column="2"
VerticalAlignment="Center"
ContentSource="Header"
RecognizesAccessKey="True"
TextElement.Foreground="{TemplateBinding Foreground}" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Visibility" Value="Collapsed" />
<Setter TargetName="IconElement" Property="Margin" Value="0" />
</Trigger>
<Trigger Property="Header" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Margin" Value="0" />
<Setter TargetName="HeaderPresenter" Property="Visibility" Value="Collapsed" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- SubmenuItem -->
<ControlTemplate x:Key="WpfUiMenuItemSubmenuItemTemplateKey" TargetType="{x:Type controls:MenuItem}">
<Border
x:Name="Border"
Margin="4,1,4,1"
Background="Transparent"
CornerRadius="4">
<Grid Margin="8,6,8,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" SharedSizeGroup="Shortcut" />
</Grid.ColumnDefinitions>
<Border
x:Name="CheckBoxIconBorder"
Grid.Column="0"
Width="16"
Height="16"
Margin="0"
VerticalAlignment="Center"
BorderThickness="1"
CornerRadius="4"
Visibility="Collapsed">
<TextBlock
x:Name="CheckBoxIcon"
HorizontalAlignment="Center"
VerticalAlignment="Center"
FontFamily="{DynamicResource FluentSystemIcons}"
FontSize="16"
Text=""
TextAlignment="Center" />
</Border>
<ContentControl
x:Name="IconElement"
Grid.Column="1"
Width="16"
Height="16"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
FontSize="16"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
Grid.Column="3"
ContentSource="Header"
RecognizesAccessKey="True"
VerticalAlignment="Center"
TextElement.Foreground="{TemplateBinding Foreground}">
<ContentPresenter.Resources>
<Style
BasedOn="{StaticResource {x:Type TextBlock}}"
TargetType="{x:Type TextBlock}">
<Setter
Property="FontSize"
Value="12" />
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
<TextBlock
x:Name="InputGestureText"
Grid.Column="4"
Margin="25,0,0,0"
VerticalAlignment="Center"
DockPanel.Dock="Right"
FontSize="11"
Foreground="{DynamicResource TextFillColorDisabledBrush}"
Text="{TemplateBinding InputGestureText}" />
</Grid>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsHighlighted" Value="True">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Visibility" Value="Hidden" />
<!-- <Setter TargetName="IconElement" Property="Margin" Value="0" /> -->
</Trigger>
<Trigger Property="IsCheckable" Value="True">
<Setter TargetName="IconElement" Property="Visibility" Value="Collapsed" />
<Setter TargetName="CheckBoxIconBorder" Property="Visibility" Value="Visible" />
<Setter TargetName="CheckBoxIconBorder" Property="Margin" Value="0,0,6,0" />
</Trigger>
<Trigger Property="IsChecked" Value="True">
<Setter TargetName="CheckBoxIcon" Property="Text" Value="&#xF294;" />
</Trigger>
<Trigger Property="IsEnabled" Value="False">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="InputGestureText" Value="">
<Setter TargetName="InputGestureText" Property="Visibility" Value="Collapsed" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- SubItem with Subitems -->
<ControlTemplate x:Key="WpfUiMenuItemSubmenuHeaderTemplateKey" TargetType="{x:Type controls:MenuItem}">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="*" />
<RowDefinition Height="Auto" />
</Grid.RowDefinitions>
<Border
x:Name="Border"
Grid.Row="1"
Margin="4,1,4,1"
BorderThickness="1"
CornerRadius="4">
<Grid x:Name="MenuItemContent" Margin="8,6,8,6">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
<ContentControl
x:Name="IconElement"
Grid.Column="0"
Width="16"
Height="16"
Margin="0,0,6,0"
VerticalAlignment="Center"
Content="{TemplateBinding Icon}"
FontSize="16"
KeyboardNavigation.IsTabStop="False" />
<ContentPresenter
x:Name="HeaderHost"
Grid.Column="2"
ContentSource="Header"
RecognizesAccessKey="True">
<ContentPresenter.Resources>
<Style
BasedOn="{StaticResource {x:Type TextBlock}}"
TargetType="{x:Type TextBlock}">
<Setter
Property="FontSize"
Value="12" />
</Style>
</ContentPresenter.Resources>
</ContentPresenter>
<Grid Grid.Column="3">
<controls:SymbolIcon
x:Name="Chevron"
Margin="0,3,0,0"
VerticalAlignment="Center"
FontSize="12"
Symbol="ChevronRight20" />
</Grid>
</Grid>
</Border>
<Popup
x:Name="Popup"
Grid.Row="1"
AllowsTransparency="True"
Focusable="False"
IsOpen="{TemplateBinding IsSubmenuOpen}"
Placement="Right"
PlacementTarget="{Binding ElementName=MenuItemContent}"
PopupAnimation="None"
VerticalOffset="-20">
<Grid>
<Border
x:Name="SubmenuBorder"
Margin="12,10,12,18"
Padding="0,3,0,3"
Background="{DynamicResource FlyoutBackground}"
BorderBrush="{DynamicResource FlyoutBorderBrush}"
BorderThickness="1"
CornerRadius="8"
SnapsToDevicePixels="True">
<Border.RenderTransform>
<TranslateTransform />
</Border.RenderTransform>
<controls:PassiveScrollViewer CanContentScroll="True" Style="{StaticResource UiMenuItemScrollViewer}">
<StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle" />
</controls:PassiveScrollViewer>
<Border.Effect>
<DropShadowEffect
BlurRadius="20"
Direction="270"
Opacity="0.5"
ShadowDepth="6" />
</Border.Effect>
</Border>
</Grid>
</Popup>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="Icon" Value="{x:Null}">
<Setter TargetName="IconElement" Property="Visibility" Value="Hidden" />
<!-- <Setter TargetName="IconElement" Property="Margin" Value="0" /> -->
</Trigger>
<Trigger Property="IsHighlighted" Value="true">
<Setter TargetName="Border" Property="Background" Value="{DynamicResource MenuBarItemBackgroundSelected}" />
</Trigger>
<!--<Trigger SourceName="Popup" Property="AllowsTransparency" Value="True">
<Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="4" />
<Setter TargetName="SubmenuBorder" Property="Padding" Value="0,3,0,3" />
</Trigger>-->
<Trigger Property="IsEnabled" Value="false">
<Setter Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
<Setter TargetName="Chevron" Property="Foreground">
<Setter.Value>
<SolidColorBrush Color="{DynamicResource TextFillColorDisabled}" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="IsSubmenuOpen" Value="True">
<Trigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation
Storyboard.TargetName="SubmenuBorder"
Storyboard.TargetProperty="(Border.RenderTransform).(TranslateTransform.Y)"
From="-90"
To="0"
Duration="00:00:00.167">
<DoubleAnimation.EasingFunction>
<CircleEase EasingMode="EaseOut" />
</DoubleAnimation.EasingFunction>
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</Trigger.EnterActions>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
<!-- MenuItem Style -->
<Style x:Key="WpfUiMenuItem" TargetType="{x:Type controls:MenuItem}">
<Setter Property="OverridesDefaultStyle" Value="True" />
<Setter Property="FocusVisualStyle" Value="{DynamicResource DefaultControlFocusVisualStyle}" />
<Setter Property="KeyboardNavigation.IsTabStop" Value="True" />
<Setter Property="Focusable" Value="True" />
<Style.Triggers>
<Trigger Property="Role" Value="TopLevelHeader">
<Setter Property="Template" Value="{StaticResource WpfUiMenuItemTopLevelHeaderTemplateKey}" />
<Setter Property="Grid.IsSharedSizeScope" Value="True" />
</Trigger>
<Trigger Property="Role" Value="TopLevelItem">
<Setter Property="Template" Value="{StaticResource WpfUiMenuItemTopLevelItemTemplateKey}" />
</Trigger>
<Trigger Property="Role" Value="SubmenuHeader">
<Setter Property="Template" Value="{StaticResource WpfUiMenuItemSubmenuHeaderTemplateKey}" />
</Trigger>
<Trigger Property="Role" Value="SubmenuItem">
<Setter Property="Template" Value="{StaticResource WpfUiMenuItemSubmenuItemTemplateKey}" />
</Trigger>
</Style.Triggers>
</Style>
<Style BasedOn="{StaticResource WpfUiMenuItem}" TargetType="{x:Type controls:MenuItem}" />
</ResourceDictionary>