2025-05-05 17:04:06 +08:00
|
|
|
<!--
|
2025-02-10 20:53:40 +08:00
|
|
|
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">
|
|
|
|
|
|
|
|
|
|
<Style TargetType="{x:Type TabControl}">
|
|
|
|
|
<Setter Property="Foreground" Value="{DynamicResource TabViewForeground}" />
|
|
|
|
|
<Setter Property="Background" Value="{DynamicResource TabViewBackground}" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="{DynamicResource TabViewBorderBrush}" />
|
|
|
|
|
<Setter Property="OverridesDefaultStyle" Value="True" />
|
|
|
|
|
<Setter Property="SnapsToDevicePixels" Value="True" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="{x:Type TabControl}">
|
|
|
|
|
<Grid KeyboardNavigation.TabNavigation="Local">
|
|
|
|
|
<Grid.RowDefinitions>
|
2025-05-05 17:04:06 +08:00
|
|
|
<RowDefinition x:Name="RowDefinition0" Height="Auto" />
|
|
|
|
|
<RowDefinition x:Name="RowDefinition1" Height="*" />
|
2025-02-10 20:53:40 +08:00
|
|
|
</Grid.RowDefinitions>
|
2025-05-05 17:04:06 +08:00
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition x:Name="ColumnDefinition0" Width="Auto" />
|
|
|
|
|
<ColumnDefinition x:Name="ColumnDefinition1" Width="*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
<TabPanel
|
|
|
|
|
x:Name="HeaderPanel"
|
|
|
|
|
Grid.Row="0"
|
2025-05-05 17:04:06 +08:00
|
|
|
Grid.Column="0"
|
2025-02-10 20:53:40 +08:00
|
|
|
Margin="0"
|
|
|
|
|
Panel.ZIndex="1"
|
|
|
|
|
Background="Transparent"
|
|
|
|
|
IsItemsHost="True"
|
|
|
|
|
KeyboardNavigation.TabIndex="1" />
|
2025-05-05 17:04:06 +08:00
|
|
|
|
2025-02-10 20:53:40 +08:00
|
|
|
<Border
|
|
|
|
|
x:Name="Border"
|
|
|
|
|
Grid.Row="1"
|
2025-05-05 17:04:06 +08:00
|
|
|
Grid.Column="1"
|
2025-02-10 20:53:40 +08:00
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="0,1,0,0"
|
|
|
|
|
CornerRadius="0,4,4,4"
|
|
|
|
|
KeyboardNavigation.DirectionalNavigation="Contained"
|
|
|
|
|
KeyboardNavigation.TabIndex="2"
|
|
|
|
|
KeyboardNavigation.TabNavigation="Local">
|
|
|
|
|
<ContentPresenter
|
|
|
|
|
x:Name="PART_SelectedContentHost"
|
|
|
|
|
Margin="0"
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
VerticalAlignment="Stretch"
|
|
|
|
|
ContentSource="SelectedContent"
|
|
|
|
|
TextElement.Foreground="{TemplateBinding Foreground}" />
|
|
|
|
|
</Border>
|
|
|
|
|
</Grid>
|
2025-05-05 17:04:06 +08:00
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Top">
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<!--<Setter TargetName="Border" Property="Grid.Row" Value="1" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="0,1,0,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="0,4,4,0" />-->
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Bottom">
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Row" Value="1" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<!--<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="0,0,0,1" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="4,4,0,0" />-->
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Left">
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<!--<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="1" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="1,0,0,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="0,4,4,0" />-->
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Right">
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.Column" Value="1" />
|
|
|
|
|
<Setter TargetName="HeaderPanel" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<!--<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="0,0,1,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="4,0,0,4" />-->
|
|
|
|
|
</Trigger>
|
|
|
|
|
</ControlTemplate.Triggers>
|
2025-02-10 20:53:40 +08:00
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
<Style TargetType="{x:Type TabItem}">
|
|
|
|
|
<Setter Property="Background" Value="{DynamicResource TabViewItemHeaderBackground}" />
|
|
|
|
|
<Setter Property="BorderBrush" Value="Transparent" />
|
|
|
|
|
<Setter Property="HorizontalAlignment" Value="Stretch" />
|
|
|
|
|
<Setter Property="VerticalAlignment" Value="Stretch" />
|
|
|
|
|
<Setter Property="VerticalContentAlignment" Value="Stretch" />
|
|
|
|
|
<Setter Property="HorizontalContentAlignment" Value="Stretch" />
|
|
|
|
|
<Setter Property="FocusVisualStyle" Value="{DynamicResource DefaultControlFocusVisualStyle}" />
|
|
|
|
|
<Setter Property="KeyboardNavigation.IsTabStop" Value="True" />
|
|
|
|
|
<Setter Property="Focusable" Value="True" />
|
|
|
|
|
<Setter Property="OverridesDefaultStyle" Value="True" />
|
|
|
|
|
<Setter Property="SnapsToDevicePixels" Value="True" />
|
|
|
|
|
<Setter Property="Template">
|
|
|
|
|
<Setter.Value>
|
|
|
|
|
<ControlTemplate TargetType="{x:Type TabItem}">
|
|
|
|
|
<Grid x:Name="Root">
|
|
|
|
|
<Border
|
|
|
|
|
x:Name="Border"
|
|
|
|
|
MinWidth="180"
|
|
|
|
|
MinHeight="36"
|
|
|
|
|
Margin="0"
|
|
|
|
|
Padding="6"
|
|
|
|
|
Background="{TemplateBinding Background}"
|
|
|
|
|
BorderBrush="{TemplateBinding BorderBrush}"
|
|
|
|
|
BorderThickness="1,1,1,0"
|
|
|
|
|
CornerRadius="8,8,0,0">
|
|
|
|
|
<ContentPresenter
|
|
|
|
|
x:Name="ContentSite"
|
|
|
|
|
Margin="0"
|
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
ContentSource="Header"
|
|
|
|
|
RecognizesAccessKey="True" />
|
|
|
|
|
</Border>
|
|
|
|
|
</Grid>
|
|
|
|
|
<ControlTemplate.Triggers>
|
|
|
|
|
<Trigger Property="IsSelected" Value="True">
|
|
|
|
|
<Setter Property="Panel.ZIndex" Value="100" />
|
|
|
|
|
<Setter TargetName="Border" Property="Background" Value="{DynamicResource TabViewItemHeaderBackgroundSelected}" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource TabViewSelectedItemBorderBrush}" />
|
|
|
|
|
<Setter Property="Foreground" Value="{DynamicResource TabViewItemForegroundSelected}" />
|
|
|
|
|
</Trigger>
|
2025-05-05 17:04:06 +08:00
|
|
|
<Trigger Property="TabStripPlacement" Value="Top">
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Row" Value="1" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="1,1,1,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="4,4,0,0" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Bottom">
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.ColumnSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="0,0,0,1" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="0,0,4,4" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Right">
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="1" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="1,0,0,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="0,4,4,0" />
|
|
|
|
|
</Trigger>
|
|
|
|
|
<Trigger Property="TabStripPlacement" Value="Left">
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Row" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.Column" Value="0" />
|
|
|
|
|
<Setter TargetName="Border" Property="Grid.RowSpan" Value="2" />
|
|
|
|
|
<Setter TargetName="Border" Property="BorderThickness" Value="0,0,1,0" />
|
|
|
|
|
<Setter TargetName="Border" Property="CornerRadius" Value="4,0,0,4" />
|
|
|
|
|
</Trigger>
|
2025-02-10 20:53:40 +08:00
|
|
|
</ControlTemplate.Triggers>
|
|
|
|
|
</ControlTemplate>
|
|
|
|
|
</Setter.Value>
|
|
|
|
|
</Setter>
|
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
|
|
</ResourceDictionary>
|