web-dev-qa-db-fra.com

Comment créer des jeux d'onglets verticaux dans WPF?

Comment créer des jeux d'onglets verticaux dans WPF? Les onglets s'empilent de haut en bas, tout comme les "Propriétés" d'un projet affiché dans Visual Studio.

46
Gulshan

Avez-vous essayé le TabControl.TabStripPlacement Propriété ?

L'exemple suivant crée un contrôle onglet qui positionne les onglets sur le côté gauche.

<TabControl TabStripPlacement="Left" Margin="0, 0, 0, 10">
  <TabItem Name="fontweight" Header="FontWeight">
    <TabItem.Content>
      <TextBlock TextWrapping="WrapWithOverflow">
        FontWeight property information goes here.
      </TextBlock>
    </TabItem.Content>
  </TabItem>

  <TabItem Name="fontsize" Header="FontSize">
    <TabItem.Content>
      <TextBlock TextWrapping="WrapWithOverflow">
        FontSize property information goes here.
      </TextBlock>
    </TabItem.Content>
  </TabItem>
</TabControl>
82
ChrisF

Vous devriez essayer ce code:

<TabControl.Resources>
            <Style TargetType="{x:Type TabItem}">
                <Setter Property="HeaderTemplate">
                    <Setter.Value>
                        <DataTemplate>
                            <ContentPresenter Content="{TemplateBinding Content}">
                                <ContentPresenter.LayoutTransform>
                                    <RotateTransform Angle="270" />
                                </ContentPresenter.LayoutTransform>
                            </ContentPresenter>
                        </DataTemplate>
                    </Setter.Value>
                </Setter>
                <Setter Property="Padding" Value="3" />
            </Style>
        </TabControl.Resources>
13
rkirac

Basé sur la réponse de rkirac ci-dessus. Si vous ne voulez pas créer un style global, vous pouvez mettre les mêmes choses à l'intérieur TabControl.ItemContainerStyle qui n'affectera que le TabControl en question. Voici un exemple simple:

<TabControl TabStripPlacement="Left">
  <TabControl.ItemContainerStyle>
    <Style TargetType="TabItem">
      <Setter Property="LayoutTransform">
        <Setter.Value>
          <RotateTransform Angle="270" />
        </Setter.Value>
      </Setter>
    </Style>
  </TabControl.ItemContainerStyle>
</TabControl>
1
dotNET