Как разместить вкладки WPF Tab Control сбоку - PullRequest
30 голосов
/ 10 октября 2008

Я пытаюсь создать элемент управления вкладками в WPF, в котором вкладки расположены по правой стороне элемента управления, а текст повернут на 90 градусов. Внешний вид аналогичен пластиковым вкладкам, которые можно купить и использовать в блокноте. Я попытался изменить TabStripPlacement на Right, но он просто складывает вкладки в верхней правой части элемента управления - совсем не то, что я имел в виду.

1 Ответ

48 голосов
/ 10 октября 2008

Эффект, который, я полагаю, вы ищете, достигается путем предоставления шаблона HeaderTemplate для TabItem в вашей коллекции Tab.

<TabControl TabStripPlacement="Right">
  <TabControl.Resources>
    <Style TargetType="{x:Type TabItem}">
      <Setter Property="Padding" Value="4" />
      <Setter Property="HeaderTemplate">
        <Setter.Value>
          <DataTemplate>
            <ContentPresenter Content="{TemplateBinding Content}">
              <ContentPresenter.LayoutTransform>
                <RotateTransform Angle="90" />
              </ContentPresenter.LayoutTransform>
            </ContentPresenter>
          </DataTemplate>
        </Setter.Value>
      </Setter>
    </Style>
  </TabControl.Resources>
  <TabItem Header="Tab Item 1" />
  <TabItem Header="Tab Item 2" />
  <TabItem Header="Tab Item 3" />
  <TabItem Header="Tab Item 4" />
</TabControl>

Надеюсь, это поможет!

...