使标题页对WPF上的标题文本具有灵活性

时间:2013-05-17 14:10:15

标签: c# .net wpf

我是WPF的新手,我尝试自己重新设置一个TabItem。

enter image description here

正如人们可以看到标签填满了窗户的整个宽度。不像我最初的目的,我实际上想要使标签宽度基于它内部的文本。像原始风格一样,只重新设计。

我的代码风格:

<Style x:Key="ZoidTab" TargetType="{x:Type TabItem}" >
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate x:Name="ZoidTemplate" TargetType="{x:Type TabItem}">
                <Border Width="Auto" Height="Auto">
                <Grid x:Name="grid">
                    <Polygon
                        Fill="Turquoise"
                        Points="0,1 0.05,0 0.95,0 1,1"
                        Stretch="Fill"
                        Margin="0,0,0,0"
                    />
                    <ContentPresenter x:Name="tabContent" HorizontalAlignment="Center" ContentSource="Header" VerticalAlignment="Center" TextElement.Foreground="#FFFFFFFF"/>
                </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
    <Setter Property="FontSize" Value="12pt"/>
</Style>

我想知道我必须修复什么才能使宽度正确...谢谢。

1 个答案:

答案 0 :(得分:2)

问题是,您的Grid没有ColumnDefinitions部分来限制唯一列的大小。修改它看起来像这样:

<Grid x:Name="grid">
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="Auto" />
    </Grid.ColumnDefinitions>
    ...