我是WPF的新手,我尝试自己重新设置一个TabItem。
正如人们可以看到标签填满了窗户的整个宽度。不像我最初的目的,我实际上想要使标签宽度基于它内部的文本。像原始风格一样,只重新设计。
我的代码风格:
<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>
我想知道我必须修复什么才能使宽度正确...谢谢。
答案 0 :(得分:2)
问题是,您的Grid
没有ColumnDefinitions
部分来限制唯一列的大小。修改它看起来像这样:
<Grid x:Name="grid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
...