Как разместить вкладки управления вкладками WPF сбоку

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


person Brian Stewart    schedule 09.10.2008    source источник


Ответы (1)


Я считаю, что желаемый эффект достигается за счет предоставления HeaderTemplate для TabItem в вашей коллекции вкладок.

<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>

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

person Brad Leach    schedule 09.10.2008
comment
Если вкладки «длиннее», чем высота сетки, есть ли способ прокручивать вкладки, чтобы открывать те, которые изначально не видны? - person Number8; 25.06.2009
comment
... или иметь несколько столбцов вкладок, как это происходит, когда вкладки находятся в верхней части элемента управления? - person Number8; 26.06.2009