我是 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>
我想知道我必须修复什么才能获得正确的宽度...谢谢。
最佳答案
问题是您的 Grid
没有 ColumnDefinitions
部分来限制唯一一列的大小。将其修改为如下所示:
<Grid x:Name="grid">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
</Grid.ColumnDefinitions>
...
关于c# - 使选项卡标题灵活地适应 WPF 上的标题文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16611161/