6

WPF Tabcontrolのデフォルトの動作では、タブヘッダーを互いに隣接して配置し、間に空きスペースを配置しません。ヘッダー間のギャップを指定したい場合はどうなりますか?このためのコントロールテンプレートを定義する必要がありますか?私はWFPに比較的慣れていないので、助けていただければ幸いです。

ありがとう

4

2 に答える 2

10

TabItem のカスタム コントロール テンプレートを定義する必要があると思います。これは、分離のためにスペーサーを使用する 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 に答える