Boj*_* Li 6 wpf tabcontrol header spacing gaps-in-visuals
WPF Tabcontrol的默认行为是将Tab Headers放在彼此相邻的位置,中间没有任何空白区域.如果我想在标题之间指定间隙怎么办?我是否必须为此定义控件模板?我对世界粮食计划署比较陌生,对此我们表示感谢.
谢谢
Jac*_*cob 10
我相信你需要为TabItem定义一个自定义控件模板,甚至可能为TabControl定义一个.以下是使用间隔符进行某种分离的TabItem示例.
<Style
x:Key="SpacedTab"
TargetType="{x:Type TabItem}">
<Setter
Property="Template">
<Setter.Value>
<ControlTemplate
TargetType="{x:Type TabItem}">
<Border
x:Name="Spacer"
Width="Auto"
Height="Auto"
Padding="0 0 5 0"
Margin="0 0 0 0"
BorderBrush="Transparent"
BorderThickness="0">
<Border
x:Name="Border"
MinWidth="150"
Width="Auto"
Height="30"
Background="Gray"
BorderBrush="DarkGray"
BorderThickness="0,0,0,0"
CornerRadius="6,6,0,0"
Cursor="Hand"
VerticalAlignment="Bottom">
<ContentPresenter
x:Name="ContentSite"
TextElement.FontSize="10pt"
TextElement.FontFamily="Arial"
TextElement.Foreground="Black"
VerticalAlignment="Center"
HorizontalAlignment="Center"
ContentSource="Header"
Margin="8,3,8,3"
Width="Auto"
Height="Auto" />
</Border>
</Border>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)
希望这是一个正确方向的推动; 您仍然需要将其添加为样式资源,并从TabControl - > TabItem引用它.
在设计器中添加空间很容易。从最右边的选项卡开始,选择要移动的选项卡。然后按住 ctrl 并使用右箭头键将选项卡向右移动。对其余选项卡执行相同操作。然后您可以手动调整 xaml 代码中的边距。