0

アプリケーション内のすべての TabControl のコントロール テンプレートを作成しました。テンプレートは、TabPanel をタブ項目のメイン コンテンツの左側に配置します。

   <Style TargetType="{x:Type TabControl}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type TabControl}">
                <Grid>
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="100" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <TabPanel Grid.Column="0"
                              Panel.ZIndex="1"
                              Margin="0,0,0,0"
                              IsItemsHost="True"
                              Background="Transparent" />
                    <Border Grid.Column="1"
                            BorderBrush="Black"
                            BorderThickness="1"
                            CornerRadius="0,12,12,12">
                        <Border.Background>
                            <SolidColorBrush Color="Green" />
                        </Border.Background>
                        <ContentPresenter ContentSource="SelectedContent" />
                    </Border>
                </Grid>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>

これは、最初にタブ コントロールを次のように表示したいものです。しかし、TabStripPlacement プロパティを Top に設定しても、左側に残ります。コントロール テンプレートで定義して、TabStrip プロパティに基づいて TabPanel の位置を調整する方法はありますか? ありがとうございます。

4

1 に答える 1

2

プロパティの変更に反応するトリガーをスタイルで使用する必要がありTabStripPlacementます。

このスタックオーバーフローの投稿は、この例を示しています。

于 2012-08-04T01:59:05.830 に答える