WPF选项卡控制标题之间的间距

时间:2009-09-29 19:38:37

标签: wpf header tabcontrol spacing gaps-in-visuals

WPF Tabcontrol的默认行为是将Tab Headers放在彼此相邻的位置,中间没有任何空白区域。如果我想在标题之间指定间隙怎么办?我是否必须为此定义控件模板?我对世界粮食计划署来说相对较新,对任何帮助表示赞赏。

由于

2 个答案:

答案 0 :(得分: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>

希望这是朝着正确方向的推动;您仍然需要将其添加为样式资源并从TabControl引用它 - &gt; TabItem的。

答案 1 :(得分:4)

通过在设计器中添加空间很容易。从最右边的选项卡开始,选择要移动的选项卡。然后按住ctrl并使用右箭头键将标签向右移动。对其余选项卡执行相同操作。然后,您可以手动调整xaml代码中的边距。