206 lines
11 KiB
XML
206 lines
11 KiB
XML
<ResourceDictionary
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:controls="clr-namespace:WPFDark.Controls"
|
|
xmlns:wpf="clr-namespace:WPFDark"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
|
|
|
|
<Style TargetType="{x:Type MenuItem}" x:Key="MenuItemBaseStyle">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type MenuItem}">
|
|
<Border
|
|
Background="Transparent"
|
|
BorderThickness="0"
|
|
x:Name="Border">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition
|
|
MinWidth="20.0"
|
|
SharedSizeGroup="ColumnGroupIcon"
|
|
Width="Auto"
|
|
x:Name="ColumnIcon" />
|
|
<ColumnDefinition SharedSizeGroup="ColumnGroupHeader" Width="Auto" />
|
|
<ColumnDefinition SharedSizeGroup="ColumnGroupInputGesture" Width="Auto" />
|
|
<ColumnDefinition Width="14" x:Name="ColumnArrow" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<ContentPresenter
|
|
ContentSource="Icon"
|
|
Grid.Column="0"
|
|
VerticalAlignment="Center"
|
|
x:Name="IconPresenter" />
|
|
|
|
<ContentPresenter
|
|
ContentSource="Header"
|
|
Grid.Column="1"
|
|
Margin="{TemplateBinding Padding}"
|
|
RecognizesAccessKey="True"
|
|
VerticalAlignment="Center" />
|
|
|
|
<ContentPresenter
|
|
ContentSource="InputGestureText"
|
|
Grid.Column="2"
|
|
Margin="24,1,8,1"
|
|
VerticalAlignment="Center"
|
|
x:Name="InputGesturePresenter" />
|
|
|
|
<Path
|
|
Data="M 4 0 L 8 4 L 4 8 Z"
|
|
Fill="{DynamicResource ForegroundBrushKey}"
|
|
Grid.Column="3"
|
|
HorizontalAlignment="Right"
|
|
Margin="4,0,6,0"
|
|
VerticalAlignment="Center"
|
|
x:Name="Arrow" />
|
|
|
|
<Popup
|
|
AllowsTransparency="True"
|
|
Focusable="False"
|
|
Grid.Column="0"
|
|
HorizontalOffset="-1"
|
|
IsOpen="{Binding IsSubmenuOpen, RelativeSource={RelativeSource TemplatedParent}}"
|
|
Placement="Right"
|
|
PopupAnimation="None"
|
|
SnapsToDevicePixels="True"
|
|
UseLayoutRounding="True"
|
|
x:Name="SubMenuPopup">
|
|
|
|
<controls:BiaClippingBorder
|
|
Background="{DynamicResource SubmenuItemBackground}"
|
|
BorderBrush="{DynamicResource MenuItemHighlightedBackground}"
|
|
BorderThickness="1"
|
|
Margin="0,0,8,8"
|
|
SnapsToDevicePixels="True"
|
|
UseLayoutRounding="True">
|
|
<StackPanel
|
|
Grid.IsSharedSizeScope="True"
|
|
IsItemsHost="True"
|
|
KeyboardNavigation.DirectionalNavigation="Cycle" />
|
|
|
|
<Border.Effect>
|
|
<DropShadowEffect Color="Black" ShadowDepth="2.0" />
|
|
</Border.Effect>
|
|
</controls:BiaClippingBorder>
|
|
</Popup>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="Role" Value="TopLevelHeader">
|
|
<Setter Property="Padding" Value="8,4" />
|
|
<Setter Property="Placement" TargetName="SubMenuPopup" Value="Bottom" />
|
|
<Setter Property="MinWidth" TargetName="ColumnIcon" Value="0.0" />
|
|
<Setter Property="Width" TargetName="ColumnArrow" Value="Auto" />
|
|
<Setter Property="Visibility" TargetName="IconPresenter" Value="Collapsed" />
|
|
<Setter Property="Visibility" TargetName="InputGesturePresenter" Value="Collapsed" />
|
|
<Setter Property="Visibility" TargetName="Arrow" Value="Collapsed" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="Role" Value="TopLevelItem">
|
|
<Setter Property="Padding" Value="8,4" />
|
|
<Setter Property="MinWidth" TargetName="ColumnIcon" Value="0.0" />
|
|
<Setter Property="Width" TargetName="ColumnArrow" Value="Auto" />
|
|
<Setter Property="Visibility" TargetName="IconPresenter" Value="Collapsed" />
|
|
<Setter Property="Visibility" TargetName="InputGesturePresenter" Value="Collapsed" />
|
|
<Setter Property="Visibility" TargetName="Arrow" Value="Collapsed" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="Role" Value="SubmenuHeader">
|
|
<Setter Property="DockPanel.Dock" Value="Top" />
|
|
<Setter Property="Padding" Value="12,4,0,4" />
|
|
<Setter Property="MinHeight" TargetName="Border" Value="24.0" />
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SubmenuItemBackground}" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="Role" Value="SubmenuItem">
|
|
<Setter Property="DockPanel.Dock" Value="Top" />
|
|
<Setter Property="Padding" Value="12,4,0,4" />
|
|
<Setter Property="Visibility" TargetName="Arrow" Value="Collapsed" />
|
|
<Setter Property="MinHeight" TargetName="Border" Value="24.0" />
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SubmenuItemBackground}" />
|
|
</Trigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsHighlighted" Value="True" />
|
|
<Condition Property="Role" Value="TopLevelHeader" />
|
|
</MultiTrigger.Conditions>
|
|
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource MenuItemHighlightedBackground}" />
|
|
</MultiTrigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsHighlighted" Value="True" />
|
|
<Condition Property="Role" Value="TopLevelItem" />
|
|
</MultiTrigger.Conditions>
|
|
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource MenuItemHighlightedBackground}" />
|
|
</MultiTrigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsHighlighted" Value="True" />
|
|
<Condition Property="Role" Value="SubmenuHeader" />
|
|
</MultiTrigger.Conditions>
|
|
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SubmenuItemBackgroundHighlighted}" />
|
|
</MultiTrigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsHighlighted" Value="True" />
|
|
<Condition Property="Role" Value="SubmenuItem" />
|
|
</MultiTrigger.Conditions>
|
|
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SubmenuItemBackgroundHighlighted}" />
|
|
</MultiTrigger>
|
|
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSubmenuOpen" Value="True" />
|
|
<Condition Property="Role" Value="TopLevelHeader" />
|
|
</MultiTrigger.Conditions>
|
|
|
|
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SubmenuItemBackground}" />
|
|
<Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource MenuSeparatorBorderBrush}" />
|
|
</MultiTrigger>
|
|
|
|
<Trigger Property="IsSubmenuOpen" Value="True">
|
|
<Setter Property="Fill" TargetName="Arrow" Value="{DynamicResource AccentBrushKey}" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="Icon" Value="{x:Null}">
|
|
<Setter Property="Visibility" TargetName="IconPresenter" Value="Collapsed" />
|
|
</Trigger>
|
|
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Foreground" Value="{DynamicResource InactiveForegroundBrushKey}" />
|
|
</Trigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style TargetType="{x:Type Menu}">
|
|
<Setter Property="FontFamily" Value="{DynamicResource WPFDarkFontFamily}" />
|
|
<Setter Property="Background" Value="Transparent" />
|
|
<Setter Property="FocusVisualStyle" Value="{x:Null}" />
|
|
|
|
<Style.Resources>
|
|
<Style TargetType="{x:Type Separator}" x:Key="{x:Static MenuItem.SeparatorStyleKey}">
|
|
<Setter Property="Height" Value="1.0" />
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type Separator}">
|
|
<Rectangle Fill="{DynamicResource MenuSeparatorBorderBrush}" />
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
|
|
<Style BasedOn="{StaticResource MenuItemBaseStyle}" TargetType="{x:Type MenuItem}" />
|
|
</Style.Resources>
|
|
</Style>
|
|
</ResourceDictionary> |