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

#wpf #xaml #tabcontrol

Вопрос:

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

Ответ №1:

Эффект, которого, я полагаю, вы добиваетесь, достигается за счет предоставления заголовка для элементов табуляции в вашей коллекции вкладок.

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

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

Комментарии:

1. Если вкладки «длиннее», чем высота сетки, есть ли способ прокрутить вкладки, чтобы показать те, которые изначально не видны?

2. … или иметь несколько столбцов вкладок, как это происходит, когда вкладки расположены в верхней части элемента управления?