wpf - WPF选项卡标题之间的间距

标签 wpf header tabcontrol spacing gaps-in-visuals

WPF Tabcontrol的默认行为是将Tab标题彼此相邻放置,并且两者之间没有任何空格。如果要在标题之间指定间隔怎么办?我是否需要为此定义一个控制模板?我对WFP相对较新,可以提供任何帮助。

谢谢

最佳答案

我相信您将需要为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引用它。

关于wpf - WPF选项卡标题之间的间距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494508/

相关文章:

c# - 使用 WPF C# 创建后台热键的正确方法? (最好不使用遗留代码)

web-services - 请求 header 中的起源邪恶.示例

spring - 通过过滤器向请求添加自定义 header

c# - 在 MouseOver 上更改 TabControl 的 SelectedTab

css - AJAX 选项卡容器样式在 IE 11 中无法正常工作

wpf - winforms,WPF和metro之间的区别?

c# - WPF ListBox,自动添加 "new element"行

c# - 我怎样才能使 WinForms TabPage 标题宽度适合它的标题?

wpf - DataTemplate 内控件可见性的 DataTrigger 不起作用

c++ - 添加预处理器 #define 以更改包含哪些 header 以及调用哪些函数