的WPF自定义的Tabcontrol的默认行为是将彼此相邻的标签集管,而在其间没有任何空的空间。如果我想指定报头之间的差距?我一定要定义这个控件模板?我是比较新的世界粮食计划署和任何帮助表示赞赏。

由于

有帮助吗?

解决方案

我相信你将需要定义的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的

其他提示

这是很容易在设计做补充的空间。选择要移动,用最右边的标签开始标签。然后按住Ctrl键并使用右箭头键的选项卡向右移动。做标签的其余部分是相同的。然后可以手动调整边距在XAML代码。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top