6

WPF 选项卡控件的默认行为是将选项卡标题彼此相邻放置,中间没有任何空白。如果我想指定标题之间的间隙怎么办?我必须为此定义一个控制模板吗?我对粮食计划署相对较新,任何帮助表示赞赏。

谢谢

4

2 回答 2

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 -> TabItem 中引用它。

于 2009-09-29T19:48:49.810 回答
5

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

于 2013-05-28T06:10:08.800 回答