Dmitrii Polianskii
Dmitrii Polianskii

Reputation: 575

WPF TabControl How to remove line when tabItem is selected

Designers hate developers that why they create so weard designs!)) So my task is to create xaml UI from psd file. I'm finishing it but I don't know how to remove line in selected tabItem. Lood at the pictures.

That's what I need to get. enter image description here

That's what I got.enter image description here

How can I remove this this line? Is It possible without hard-coding? Here's code of my tab control.

     <TabControl.Resources>
            <Style TargetType="TabControl">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type TabControl}">
                            <Grid KeyboardNavigation.TabNavigation="Local">
                                <Grid.RowDefinitions>
                                    <RowDefinition Height="*"/>
                                    <RowDefinition Height="Auto"/>
                                </Grid.RowDefinitions>
                                <Border
                                    Name="Border"
                                    Grid.Row="0"
                                    BorderBrush="{StaticResource SolidBrush_Blue}"
                                    BorderThickness="{TemplateBinding BorderThickness}"
                                    KeyboardNavigation.TabNavigation="Local"
                                    KeyboardNavigation.DirectionalNavigation="Contained"
                                    KeyboardNavigation.TabIndex="2" >
                                    <ContentPresenter
                                        Name="PART_SelectedContentHost"
                                        ContentSource="SelectedContent">
                                    </ContentPresenter>
                                </Border>
                                <TabPanel
                                    Name="HeaderPanel"
                                    Grid.Row="1"
                                    Panel.ZIndex="1"
                                    HorizontalAlignment="Center"
                                    IsItemsHost="True"
                                    KeyboardNavigation.TabIndex="1"/>
                            </Grid>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>

            <!-- SimpleStyles: TabItem -->
            <Style TargetType="{x:Type TabItem}">
                <Setter Property="Template">
                    <Setter.Value>
                        <ControlTemplate TargetType="{x:Type TabItem}">
                            <Grid
                                x:Name="grid">
                                <Border
                                    Name="Border"
                                    Margin="5,0,5,0"
                                    Padding="30 15 30 15"
                                    CornerRadius="0 0 3 3"
                                    BorderBrush="{StaticResource SolidBrush_Blue}"
                                    BorderThickness="2 0 2 2" >
                                    <ContentPresenter
                                        x:Name="contentPresenter"
                                        VerticalAlignment="Center"
                                        ContentSource="Header"
                                        TextBlock.Foreground="White"
                                        TextBlock.FontFamily="{StaticResource FontFamilyRegular}"
                                        RecognizesAccessKey="True">
                                    </ContentPresenter>
                                </Border>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsSelected" Value="True">
                                    <Setter TargetName="Border"
                                            Property="Background"
                                            Value="White" />
                                    <Setter TargetName="contentPresenter"
                                            Property="TextBlock.FontFamily"
                                            Value="{StaticResource FontFamilyBold}"/>
                                    <Setter TargetName="contentPresenter"
                                            Property="TextBlock.Foreground"
                                            Value="{StaticResource SolidBrush_Blue}"/>
                                </Trigger>
                                <Trigger Property="IsSelected" Value="False">
                                    <Setter TargetName="Border"
                                            Property="Background" 
                                            Value="{StaticResource SolidBrush_Blue}" />
                                    <Setter TargetName="contentPresenter"
                                            Property="TextBlock.Background"
                                            Value="White"/>
                                    <Setter TargetName="contentPresenter"
                                            Property="TextBlock.FontFamily"
                                            Value="{StaticResource FontFamilyRegular}"/>
                                    <Setter TargetName="contentPresenter" 
                                            Property="TextBlock.Foreground" 
                                            Value="White"/>
                                </Trigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </Setter.Value>
                </Setter>
            </Style>
        </TabControl.Resources>

Upvotes: 2

Views: 1804

Answers (1)

ASh
ASh

Reputation: 35680

in TabItem Template for border Border set Margin="5,-1,5,0". The border will move up and hide a borderline of TabControl with default thickness of 1

enter image description here

Upvotes: 4

Related Questions