236 lines
17 KiB
XML
236 lines
17 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes">
|
|
<Style x:Key="FocusVisual">
|
|
<Setter Property="Control.Template">
|
|
<Setter.Value>
|
|
<ControlTemplate>
|
|
<Rectangle Margin="2" StrokeDashArray="1 2" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" SnapsToDevicePixels="true" StrokeThickness="1"/>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
</Style>
|
|
<Style TargetType="{x:Type TabItem}">
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
<Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/>
|
|
<Setter Property="Foreground" Value="{Binding (TextElement.Foreground), RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"/>
|
|
<Setter Property="Height" Value="48"/>
|
|
<Setter Property="MinWidth" Value="90"/>
|
|
<Setter Property="Padding" Value="16,12"/>
|
|
<Setter Property="materialDesign:DialogHost.RestoreFocusElement" Value="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabControl}, Mode=FindAncestor}}"/>
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
<ControlTemplate.Resources>
|
|
<Storyboard x:Key="SelectHorizontalTabItem">
|
|
<DoubleAnimation Storyboard.TargetName="ScaleTransform"
|
|
Storyboard.TargetProperty="ScaleY"
|
|
From="0"
|
|
To="1"
|
|
Duration="0" />
|
|
<DoubleAnimation Storyboard.TargetName="ScaleTransform"
|
|
Storyboard.TargetProperty="ScaleX"
|
|
From="0"
|
|
To="1"
|
|
Duration="0:0:0.3">
|
|
<DoubleAnimation.EasingFunction>
|
|
<SineEase EasingMode="EaseOut" />
|
|
</DoubleAnimation.EasingFunction>
|
|
</DoubleAnimation>
|
|
<DoubleAnimation BeginTime="0:0:0.3"
|
|
Storyboard.TargetName="PART_BackgroundSelection"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="0.12"
|
|
Duration="0" />
|
|
</Storyboard>
|
|
<Storyboard x:Key="SelectVerticalTabItem">
|
|
<DoubleAnimation Storyboard.TargetName="ScaleTransform"
|
|
Storyboard.TargetProperty="ScaleX"
|
|
From="0"
|
|
To="1"
|
|
Duration="0" />
|
|
<DoubleAnimation Storyboard.TargetName="ScaleTransform"
|
|
Storyboard.TargetProperty="ScaleY"
|
|
From="0"
|
|
To="1"
|
|
Duration="0:0:0.3">
|
|
<DoubleAnimation.EasingFunction>
|
|
<SineEase EasingMode="EaseOut" />
|
|
</DoubleAnimation.EasingFunction>
|
|
</DoubleAnimation>
|
|
<DoubleAnimation BeginTime="0:0:0.3"
|
|
Storyboard.TargetName="PART_BackgroundSelection"
|
|
Storyboard.TargetProperty="Opacity"
|
|
To="0.12"
|
|
Duration="0" />
|
|
</Storyboard>
|
|
</ControlTemplate.Resources>
|
|
<Grid x:Name="Root">
|
|
<materialDesign:ColorZone x:Name="ColorZoneHeader" Background="{Binding (materialDesign:ColorZoneAssist.Background), RelativeSource={RelativeSource Mode=TemplatedParent}}"
|
|
Foreground="{Binding (materialDesign:ColorZoneAssist.Foreground), RelativeSource={RelativeSource Mode=TemplatedParent}}" Focusable="False" HorizontalAlignment="Stretch" Mode="Custom" VerticalAlignment="Stretch">
|
|
<materialDesign:Ripple x:Name="contentPresenter"
|
|
ContentStringFormat="{TemplateBinding HeaderStringFormat}"
|
|
ContentTemplate="{TemplateBinding HeaderTemplate}"
|
|
Content="{TemplateBinding Header}"
|
|
ContentTemplateSelector="{TemplateBinding HeaderTemplateSelector}"
|
|
Focusable="False"
|
|
TextBlock.FontWeight="Medium"
|
|
TextBlock.FontSize="14"
|
|
TextBlock.Foreground="{StaticResource PrimaryTextColorBrush}"
|
|
HorizontalContentAlignment="Center" Opacity=".82"
|
|
Padding="{TemplateBinding Padding}" RecognizesAccessKey="True"
|
|
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalContentAlignment="Center"/>
|
|
</materialDesign:ColorZone>
|
|
<Border x:Name="SelectionHighlightBorder" BorderBrush="{Binding Foreground, ElementName=ColorZoneHeader}" BorderThickness="0,0,0,2" RenderTransformOrigin="0.5,0.5" Visibility="Hidden">
|
|
<Border.RenderTransform>
|
|
<ScaleTransform x:Name="ScaleTransform" ScaleX="0" ScaleY="0"/>
|
|
</Border.RenderTransform>
|
|
<Rectangle x:Name="PART_BackgroundSelection" Fill="{TemplateBinding Background}" IsHitTestVisible="False" Opacity="0.0"/>
|
|
</Border>
|
|
</Grid>
|
|
<ControlTemplate.Triggers>
|
|
<Trigger Property="IsEnabled" Value="False">
|
|
<Setter Property="Opacity" Value="0.38"/>
|
|
</Trigger>
|
|
<Trigger Property="IsSelected" Value="True">
|
|
<Setter Property="Visibility" TargetName="SelectionHighlightBorder" Value="Visible"/>
|
|
<Setter Property="Opacity" TargetName="contentPresenter" Value="1"/>
|
|
<Setter Property="Foreground" TargetName="contentPresenter" Value="{StaticResource White1Brush}"/>
|
|
<Setter Property="materialDesign:RippleAssist.IsDisabled" TargetName="contentPresenter" Value="True"/>
|
|
</Trigger>
|
|
<Trigger Property="IsMouseOver" Value="True">
|
|
<Setter TargetName="ColorZoneHeader" Property="Cursor" Value="Hand"></Setter>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="IsSelected" Value="False"></Condition>
|
|
<Condition Property="IsMouseOver" Value="True"></Condition>
|
|
</MultiTrigger.Conditions>
|
|
<MultiTrigger.Setters>
|
|
<Setter TargetName="ColorZoneHeader" Property="Foreground" Value="{StaticResource White1Brush}"></Setter>
|
|
<Setter TargetName="contentPresenter" Property="Foreground" Value="{StaticResource White1Brush}"></Setter>
|
|
</MultiTrigger.Setters>
|
|
</MultiTrigger>
|
|
<DataTrigger Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom">
|
|
<Setter Property="BorderThickness" TargetName="SelectionHighlightBorder" Value="0,2,0,0"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left">
|
|
<Setter Property="BorderThickness" TargetName="SelectionHighlightBorder" Value="0,0,2,0"/>
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right">
|
|
<Setter Property="BorderThickness" TargetName="SelectionHighlightBorder" Value="2,0,0,0"/>
|
|
</DataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
|
|
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Top"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.EnterActions>
|
|
<BeginStoryboard Storyboard="{StaticResource SelectHorizontalTabItem}"/>
|
|
</MultiDataTrigger.EnterActions>
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
|
|
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.EnterActions>
|
|
<BeginStoryboard Storyboard="{StaticResource SelectHorizontalTabItem}"/>
|
|
</MultiDataTrigger.EnterActions>
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
|
|
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.EnterActions>
|
|
<BeginStoryboard Storyboard="{StaticResource SelectVerticalTabItem}"/>
|
|
</MultiDataTrigger.EnterActions>
|
|
</MultiDataTrigger>
|
|
<MultiDataTrigger>
|
|
<MultiDataTrigger.Conditions>
|
|
<Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Mode=Self}}" Value="True"/>
|
|
<Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right"/>
|
|
</MultiDataTrigger.Conditions>
|
|
<MultiDataTrigger.EnterActions>
|
|
<BeginStoryboard Storyboard="{StaticResource SelectVerticalTabItem}"/>
|
|
</MultiDataTrigger.EnterActions>
|
|
</MultiDataTrigger>
|
|
<Trigger Property="materialDesign:TabAssist.HasFilledTab" Value="False">
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource MaterialDesignBody}"/>
|
|
</Trigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="Standard"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource MaterialDesignBody}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="PrimaryLight"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource PrimaryHueLightBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="PrimaryMid"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource PrimaryHueMidBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="PrimaryDark"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource PrimaryHueDarkBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="SecondaryLight"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource SecondaryHueLightBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="SecondaryMid"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource SecondaryHueMidBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="SecondaryDark"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{DynamicResource SecondaryHueDarkBrush}"/>
|
|
</MultiTrigger>
|
|
<MultiTrigger>
|
|
<MultiTrigger.Conditions>
|
|
<Condition Property="materialDesign:TabAssist.HasFilledTab" Value="False"/>
|
|
<Condition Property="IsSelected" Value="True"/>
|
|
<Condition Property="materialDesign:ColorZoneAssist.Mode" Value="Custom"/>
|
|
</MultiTrigger.Conditions>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" TargetName="ColorZoneHeader" Value="{Binding (materialDesign:ColorZoneAssist.Foreground), RelativeSource={RelativeSource Mode=TemplatedParent}}"/>
|
|
</MultiTrigger>
|
|
</ControlTemplate.Triggers>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Background" Value="Transparent"/>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Foreground" Value="{Binding (materialDesign:ColorZoneAssist.Foreground), RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"/>
|
|
<Setter Property="materialDesign:ColorZoneAssist.Mode" Value="{Binding (materialDesign:ColorZoneAssist.Mode), RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"/>
|
|
<Setter Property="materialDesign:RippleAssist.Feedback" Value="{DynamicResource MaterialDesignFlatButtonRipple}"/>
|
|
<Setter Property="materialDesign:TabAssist.HasFilledTab" Value="{Binding (materialDesign:TabAssist.HasFilledTab), RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}"/>
|
|
</Style>
|
|
</ResourceDictionary> |