Я хочу создать TabControl с TabHeaders в одну строку и сгруппировать скрытые tabHeaders, как, например, в Photoshop.
Я нашел какой-то пример, и все отлично. Но проблема в нижней границе не выбранных вкладок. Я знаю, что могу воссоздать полный шаблон TabItem, но, может быть, есть более лучший способ? Кто-нибудь может помочь?
<TabControl>
<TabControl.Template>
<ControlTemplate TargetType="{x:Type TabControl}">
<Grid ClipToBounds="True" KeyboardNavigation.TabNavigation="Local" SnapsToDevicePixels="True">
<Grid.ColumnDefinitions>
<ColumnDefinition x:Name="ColumnDefinition0" />
<ColumnDefinition x:Name="ColumnDefinition1" Width="0" />
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition x:Name="RowDefinition0" Height="Auto" />
<RowDefinition x:Name="RowDefinition1" Height="*" />
</Grid.RowDefinitions>
<Border x:Name="ContentPanel" Grid.Row="1" Grid.Column="0" Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" KeyboardNavigation.DirectionalNavigation="Contained" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local">
<Grid x:Name="PART_ItemsHolder" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" />
</Border>
<ScrollViewer x:Name="HeaderPanel" Grid.Row="0" Grid.Column="0" KeyboardNavigation.TabIndex="1" Background="Transparent" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Disabled">
<ScrollViewer.Style>
<Style TargetType="{x:Type ScrollViewer}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate>
<Grid Grid.Row="0" Grid.Column="0" Margin="0,0,0,-1" >
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="8"/>
<ColumnDefinition Width="Auto"/>
</Grid.ColumnDefinitions>
<ScrollContentPresenter Grid.Column="0" Content="{TemplateBinding ScrollViewer.Content}" />
<Menu Grid.Column="6" >
<MenuItem>
<MenuItem.Template>
<ControlTemplate>
<RepeatButton Grid.Column="2" Content="<" Command="ScrollBar.LineLeftCommand" FontWeight="Bold" />
</ControlTemplate>
</MenuItem.Template>
</MenuItem>
<MenuItem>
<MenuItem.Template>
<ControlTemplate>
<RepeatButton Grid.Column="4" Content=">" Command="ScrollBar.LineRightCommand" FontWeight="Bold" />
</ControlTemplate>
</MenuItem.Template>
</MenuItem>
<MenuItem Header="\/" >
<MenuItem Header="123" />
<MenuItem Header="123" />
</MenuItem>
</Menu>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
</ScrollViewer.Style>
<StackPanel IsItemsHost="true" Margin="2,2,4,0" Panel.ZIndex="1" Orientation="Horizontal" Background="Transparent" KeyboardNavigation.TabIndex="1" />
</ScrollViewer>
</Grid>
</ControlTemplate>
</TabControl.Template>
<TabItem Header="fff"><TextBlock Text="sss" /></TabItem>
<TabItem Header="fff"><TextBlock Text="sss" /></TabItem>
</TabControl>