Files
Shrlalgo.RvKits/WPFluent/Controls/TabControl/TabControl.xaml

175 lines
11 KiB
Plaintext
Raw Normal View History

2025-07-11 09:20:23 +08:00
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<Style TargetType="{x:Type TabControl}">
2025-07-11 09:20:23 +08:00
<Setter Property="Foreground" Value="{DynamicResource TextFillColorPrimaryBrush}" />
<Setter Property="Background" Value="{DynamicResource SubtleFillColorTransparentBrush}" />
<Setter Property="BorderBrush" Value="{DynamicResource CardStrokeColorDefaultBrush}" />
<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-07-11 09:20:23 +08:00
<RowDefinition Height="Auto" x:Name="RowDefinition0" />
<RowDefinition Height="*" x:Name="RowDefinition1" />
</Grid.RowDefinitions>
2025-05-05 17:04:06 +08:00
<Grid.ColumnDefinitions>
2025-07-11 09:20:23 +08:00
<ColumnDefinition Width="Auto" x:Name="ColumnDefinition0" />
<ColumnDefinition Width="*" x:Name="ColumnDefinition1" />
2025-05-05 17:04:06 +08:00
</Grid.ColumnDefinitions>
2025-07-11 09:20:23 +08:00
<TabPanel
2025-07-11 09:20:23 +08:00
Background="Transparent"
2025-05-05 17:04:06 +08:00
Grid.Column="0"
2025-07-11 09:20:23 +08:00
Grid.Row="0"
IsItemsHost="True"
KeyboardNavigation.TabIndex="1"
Margin="0"
Panel.ZIndex="1"
2025-07-11 09:20:23 +08:00
x:Name="HeaderPanel" />
<Border
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
BorderThickness="0,1,0,0"
CornerRadius="0,4,4,4"
2025-07-11 09:20:23 +08:00
Grid.Column="1"
Grid.Row="1"
KeyboardNavigation.DirectionalNavigation="Contained"
KeyboardNavigation.TabIndex="2"
2025-07-11 09:20:23 +08:00
KeyboardNavigation.TabNavigation="Local"
x:Name="Border">
<ContentPresenter
2025-07-11 09:20:23 +08:00
ContentSource="SelectedContent"
HorizontalAlignment="Stretch"
2025-07-11 09:20:23 +08:00
Margin="0"
TextElement.Foreground="{TemplateBinding Foreground}"
VerticalAlignment="Stretch"
2025-07-11 09:20:23 +08:00
x:Name="PART_SelectedContentHost" />
</Border>
</Grid>
2025-05-05 17:04:06 +08:00
<ControlTemplate.Triggers>
<Trigger Property="TabStripPlacement" Value="Top">
2025-07-11 09:20:23 +08:00
<Setter Property="Grid.Row" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.Column" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.ColumnSpan" TargetName="HeaderPanel" Value="2" />
2025-05-05 17:04:06 +08:00
<!--<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">
2025-07-11 09:20:23 +08:00
<Setter Property="Grid.Row" TargetName="HeaderPanel" Value="1" />
<Setter Property="Grid.Column" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.ColumnSpan" TargetName="HeaderPanel" Value="2" />
2025-05-05 17:04:06 +08:00
<!--<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">
2025-07-11 09:20:23 +08:00
<Setter Property="Grid.Row" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.Column" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.RowSpan" TargetName="HeaderPanel" Value="2" />
2025-05-05 17:04:06 +08:00
<!--<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">
2025-07-11 09:20:23 +08:00
<Setter Property="Grid.Row" TargetName="HeaderPanel" Value="0" />
<Setter Property="Grid.Column" TargetName="HeaderPanel" Value="1" />
<Setter Property="Grid.RowSpan" TargetName="HeaderPanel" Value="2" />
2025-05-05 17:04:06 +08:00
<!--<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>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type TabItem}">
2025-07-11 09:20:23 +08:00
<Setter Property="Background" Value="{DynamicResource LayerOnMicaBaseAltFillColorTransparentBrush}" />
<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
Background="{TemplateBinding Background}"
BorderBrush="{TemplateBinding BorderBrush}"
2025-07-11 09:20:23 +08:00
CornerRadius="8,8,0,0"
Margin="0"
MinHeight="36"
MinWidth="80"
Padding="6"
x:Name="Border">
<ContentPresenter
2025-07-11 09:20:23 +08:00
ContentSource="Header"
HorizontalAlignment="Left"
2025-07-11 09:20:23 +08:00
Margin="0"
RecognizesAccessKey="True"
VerticalAlignment="Center"
2025-07-11 09:20:23 +08:00
x:Name="ContentSite" />
</Border>
</Grid>
<ControlTemplate.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="Panel.ZIndex" Value="100" />
2025-07-11 09:20:23 +08:00
<Setter Property="Background" TargetName="Border" Value="{DynamicResource SolidBackgroundFillColorTertiaryBrush}" />
<Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource CardStrokeColorDefaultBrush}" />
<Setter Property="Foreground" Value="{DynamicResource TextFillColorPrimaryBrush}" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Top">
<Setter Property="Grid.Row" TargetName="Border" Value="1" />
<Setter Property="Grid.Column" TargetName="Border" Value="0" />
<Setter Property="Grid.ColumnSpan" TargetName="Border" Value="2" />
<!--<Setter TargetName="Border" Property="BorderThickness" Value="1,1,1,0" />-->
<Setter Property="CornerRadius" TargetName="Border" Value="4,4,0,0" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Bottom">
<Setter Property="Grid.Row" TargetName="Border" Value="0" />
<Setter Property="Grid.Column" TargetName="Border" Value="0" />
<Setter Property="Grid.ColumnSpan" TargetName="Border" Value="2" />
<!--<Setter TargetName="Border" Property="BorderThickness" Value="0,0,0,1" />-->
<Setter Property="CornerRadius" TargetName="Border" Value="0,0,4,4" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Right">
<Setter Property="Grid.Row" TargetName="Border" Value="0" />
<Setter Property="Grid.Column" TargetName="Border" Value="1" />
<Setter Property="Grid.RowSpan" TargetName="Border" Value="2" />
<!--<Setter TargetName="Border" Property="BorderThickness" Value="1,0,0,0" />-->
<Setter Property="CornerRadius" TargetName="Border" Value="0,4,4,0" />
</Trigger>
<Trigger Property="TabStripPlacement" Value="Left">
<Setter Property="Grid.Row" TargetName="Border" Value="0" />
<Setter Property="Grid.Column" TargetName="Border" Value="0" />
<Setter Property="Grid.RowSpan" TargetName="Border" Value="2" />
<!--<Setter TargetName="Border" Property="BorderThickness" Value="0,0,1,0" />-->
<Setter Property="CornerRadius" TargetName="Border" Value="4,0,0,4" />
</Trigger>
</ControlTemplate.Triggers>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ResourceDictionary>