WPF-背景溢出标签项的边框

时间:2016-02-04 15:54:10

标签: c# wpf xaml

我试图让背景不会溢出WPF中的标签项。这是正在发生的事情(蓝色背景不应延伸到边界外):

enter image description here

这是我的WPF XAML代码:

<Window x:Class="DevelopmentConfigurator.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        xmlns:local="clr-namespace:DevelopmentConfigurator"
        mc:Ignorable="d"
        Title="Development Configurator" Height="350" Width="525">


    <Grid>
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="50*"/>
            <ColumnDefinition Width="467*"/>
        </Grid.ColumnDefinitions>




        <TabControl x:Name="tabControl" HorizontalAlignment="Left" Height="320" VerticalAlignment="Top" Width="517" Grid.ColumnSpan="2" Margin="10">
            <TabControl.Resources>
                <Style TargetType="TabItem">
                    <Setter Property="Template">
                        <Setter.Value>
                            <ControlTemplate TargetType="TabItem">
                                <Grid Name="Panel" Background="{TemplateBinding Background}" Height="30">
                                    <Border Name="Border" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="Gainsboro" CornerRadius="4,4,0,0" Margin="0,2,2,0" Padding="0">
                                        <ContentPresenter x:Name="ContentSite"
                                            VerticalAlignment="Center"
                                            HorizontalAlignment="Center"
                                            ContentSource="Header"
                                            Margin="10,2"/>
                                    </Border>
                                </Grid>
                                <ControlTemplate.Triggers>
                                    <Trigger Property="IsSelected" Value="True">
                                        <Setter Property="Foreground" Value="#FF0067CD"></Setter>
                                        <Setter Property="FontWeight" Value="Bold"></Setter>

                                        <Setter Property="Background" Value="White"></Setter>
                                        <Setter Property="BorderThickness" Value="1,1,1,0"></Setter>

                                    </Trigger>
                                    <Trigger Property="IsSelected" Value="False">
                                        <Setter Property="Foreground" Value="White"></Setter>

                                        <Setter Property="RenderTransformOrigin" Value="0.5,0.5"></Setter>
                                        <Setter Property="BorderThickness" Value="1,1,1,0"></Setter>


                                        <Setter Property="RenderTransform">
                                            <Setter.Value>
                                                <TransformGroup>
                                                    <ScaleTransform/>
                                                    <SkewTransform/>
                                                    <RotateTransform Angle="0"/>
                                                    <TranslateTransform/>
                                                </TransformGroup>
                                            </Setter.Value>
                                        </Setter>

                                        <Setter Property="Background">
                                            <Setter.Value>
                                                <LinearGradientBrush EndPoint="0,1" StartPoint="0,0">
                                                    <GradientStop Color="#FF00A0E8" Offset="0"/>
                                                    <GradientStop Color="#FF0067CD" Offset="1"/>
                                                    <GradientStop Color="#FFDDDDDD" Offset="1"/>
                                                    <GradientStop Color="#FFCDCDCD" Offset="1"/>
                                                </LinearGradientBrush>
                                            </Setter.Value>
                                        </Setter>

                                    </Trigger>
                                </ControlTemplate.Triggers>
                            </ControlTemplate>
                        </Setter.Value>
                    </Setter>
                </Style>

            </TabControl.Resources>
            <TabItem Header="Packages">
                <Label Content="Content goes here..." />
            </TabItem>
            <TabItem Header="Updates" Padding="0" />
            <TabItem Header="EnvironmentVariables" />
        </TabControl>

    </Grid>
</Window>

1 个答案:

答案 0 :(得分:2)

将背景绑定从网格移动到模板的边框。

     $(document).off('click.tab.data-api');
    $(document).on('click.tab.data-api', '[data-toggle="tab"]', function (e) {
        e.preventDefault();
        var tab = $($(this).attr('href'));
        var activate = !tab.hasClass('active');
        $('div.tab-content>div.tab-pane.active').removeClass('active');
        $('ul.nav.nav-tabs>li.active').removeClass('active');
        if (activate) {
            $(this).tab('show')
        }
    });