2024-08-21 16:50:14 +08:00

197 lines
12 KiB
XML

<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<LinearGradientBrush x:Key="TabItem.Background" StartPoint="0.5,0" EndPoint="0.5,1">
<GradientStop Color="#2A2E4D" Offset="0.0" />
<GradientStop Color="#2A2F4D" Offset="0.5" />
<GradientStop Color="#171B2E" Offset="1" />
</LinearGradientBrush>
<SolidColorBrush x:Key="TabItem.Foreground" Color="#ADB1CC" />
<SolidColorBrush x:Key="TabItem.BorderBrush" Color="#3C4065" />
<SolidColorBrush x:Key="TabItem.ActivedBorderBrush" Color="#171B2E" />
<SolidColorBrush x:Key="TabItem.ActivedForeground" Color="#99D5FF" />
<SolidColorBrush x:Key="TabItem.ActivedBackground" Color="#242840" />
<SolidColorBrush x:Key="TabControl.HeaderBackGround" Color="#2C2E4D" />
<SolidColorBrush x:Key="TabControl.BodyBackground" Color="Transparent" />
<SolidColorBrush x:Key="TabControl.BorderBrush" Color="#3C4065" />
<Style x:Key="TabControlStyle" TargetType="{x:Type TabControl}" BasedOn="{StaticResource {x:Type TabControl}}">
<Setter Property="SnapsToDevicePixels" Value="True" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid>
<Border Background="{StaticResource TabControl.BodyBackground}" BorderThickness="0" BorderBrush="{StaticResource TabControl.BorderBrush}" Margin="0" CornerRadius="1,1,0,0">
<Border.Effect>
<BlurEffect />
</Border.Effect>
</Border>
<Border BorderBrush="{StaticResource TabControl.BorderBrush}" BorderThickness="0" ClipToBounds="True" SnapsToDevicePixels="True" CornerRadius="1,1,0,0">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Name="ROW0" />
<RowDefinition Name="ROW1" />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Name="COL0" />
<ColumnDefinition Name="COL1" />
</Grid.ColumnDefinitions>
<Border Background="{StaticResource TabControl.HeaderBackGround}" BorderBrush="{StaticResource TabControl.BorderBrush}" BorderThickness="1" Name="Mask" CornerRadius="1,1,0,0" />
<Border Grid.Row="0" Grid.Column="0" Padding="0,0" Name="TP" BorderThickness="0,0,0,2" BorderBrush="#080F33">
<TabPanel IsItemsHost="True">
<TabPanel.OpacityMask>
<VisualBrush Visual="{Binding ElementName=Mask}" />
</TabPanel.OpacityMask>
</TabPanel>
</Border>
<Grid Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="2" Name="TC">
<Border Name="EB" Margin="0" BorderThickness="0" BorderBrush="{StaticResource TabControl.BorderBrush}">
<Border.Effect>
<BlurEffect Radius="5" />
</Border.Effect>
</Border>
<Border BorderThickness="1" BorderBrush="{StaticResource TabControl.BorderBrush}">
<ContentPresenter x:Name="PART_SelectedContentHost" Width="Auto"
ContentSource="SelectedContent" Margin="0"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
</Grid>
</Grid>
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="TabStripPlacement" Value="Top">
<Setter TargetName="ROW0" Property="Height" Value="auto" />
<Setter TargetName="Mask" Property="Grid.Row" Value="0" />
<Setter TargetName="Mask" Property="Grid.Column" Value="0" />
<Setter TargetName="Mask" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="Mask" Property="CornerRadius" Value="1,1,0,0" />
<Setter TargetName="TP" Property="Grid.Row" Value="0" />
<Setter TargetName="TP" Property="Grid.Column" Value="0" />
<Setter TargetName="TP" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="TC" Property="Grid.Column" Value="0" />
<Setter TargetName="TC" Property="Grid.Row" Value="1" />
<Setter TargetName="TC" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="EB" Property="BorderThickness" Value="0,1,0,0" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Bottom">
<Setter TargetName="ROW1" Property="Height" Value="auto" />
<Setter TargetName="Mask" Property="Grid.Row" Value="1" />
<Setter TargetName="Mask" Property="Grid.Column" Value="0" />
<Setter TargetName="Mask" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="Mask" Property="CornerRadius" Value="1,1,0,0" />
<Setter TargetName="TP" Property="Grid.Row" Value="1" />
<Setter TargetName="TP" Property="Grid.Column" Value="0" />
<Setter TargetName="TP" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="TC" Property="Grid.Column" Value="0" />
<Setter TargetName="TC" Property="Grid.Row" Value="0" />
<Setter TargetName="TC" Property="Grid.ColumnSpan" Value="2" />
<Setter TargetName="EB" Property="BorderThickness" Value="0,0,0,1" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Left">
<Setter TargetName="COL0" Property="Width" Value="auto" />
<Setter TargetName="Mask" Property="Grid.Row" Value="0" />
<Setter TargetName="Mask" Property="Grid.Column" Value="0" />
<Setter TargetName="Mask" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="Mask" Property="CornerRadius" Value="1,1,0,0" />
<Setter TargetName="TP" Property="Grid.Row" Value="0" />
<Setter TargetName="TP" Property="Grid.Column" Value="0" />
<Setter TargetName="TP" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="TC" Property="Grid.Column" Value="1" />
<Setter TargetName="TC" Property="Grid.Row" Value="0" />
<Setter TargetName="TC" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="EB" Property="BorderThickness" Value="1,0,0,0" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Right">
<Setter TargetName="COL1" Property="Width" Value="auto" />
<Setter TargetName="Mask" Property="Grid.Row" Value="0" />
<Setter TargetName="Mask" Property="Grid.Column" Value="1" />
<Setter TargetName="Mask" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="Mask" Property="CornerRadius" Value="1,1,0,0" />
<Setter TargetName="TP" Property="Grid.Row" Value="0" />
<Setter TargetName="TP" Property="Grid.Column" Value="1" />
<Setter TargetName="TP" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="TC" Property="Grid.Column" Value="0" />
<Setter TargetName="TC" Property="Grid.Row" Value="0" />
<Setter TargetName="TC" Property="Grid.RowSpan" Value="2" />
<Setter TargetName="EB" Property="BorderThickness" Value="0,0,1,0" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style x:Key="TabItemStyle" TargetType="{x:Type TabItem}" BasedOn="{StaticResource {x:Type TabItem}}">
<Setter Property="Background" Value="{StaticResource TabItem.Background}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource TabItem.Foreground}" />
<Setter Property="TextBlock.FontWeight" Value="Normal" />
<Setter Property="TextBlock.FontFamily" Value="Microsoft YaHei" />
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type TabItem}">
<Border x:Name="tabItemBorder" Background="{TemplateBinding Background}"
BorderBrush="{StaticResource TabItem.BorderBrush}" BorderThickness="1"
SnapsToDevicePixels="True" ClipToBounds="True"
CornerRadius="1,1,0,0" Margin="0"
Height="37" Width="160">
<ContentPresenter x:Name="contentPresenter"
ContentSource="Header"
Focusable="False"
HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"
RecognizesAccessKey="True"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}">
</ContentPresenter>
</Border>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter TargetName="tabItemBorder" Property="Background" Value="{DynamicResource TabItem.ActivedBackground}" />
<Setter TargetName="tabItemBorder" Property="BorderThickness" Value="1,3,1,1" />
<Setter TargetName="tabItemBorder" Property="BorderBrush" Value="{StaticResource TabItem.ActivedBorderBrush}" />
<Setter Property="TextBlock.Foreground" Value="{StaticResource TabItem.ActivedForeground}" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Left">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="-90" />
</Setter.Value>
</Setter>
</Trigger>
<Trigger Property="TabStripPlacement" Value="Right">
<Setter Property="LayoutTransform">
<Setter.Value>
<RotateTransform Angle="90" />
</Setter.Value>
</Setter>
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>