如何在WPF中构建垂直制表集?

时间:2010-10-17 12:54:04

标签: wpf tabcontrol

如何在WPF中构建垂直制表集?标签将从上到下堆叠,就像视觉工作室中显示的项目的“属性”一样。

3 个答案:

答案 0 :(得分:81)

您是否尝试过TabControl.TabStripPlacement Property

  

以下示例创建一个选项卡控件,用于定位左侧的选项卡。

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

答案 1 :(得分:13)

您应该尝试以下代码:

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

答案 2 :(得分:1)

基于rkirac的上述答案。如果您不想创建全局样式,可以将相同的内容放在TabControl.ItemContainerStyle内,这只会影响相关的TabControl。以下是一个简单的例子:

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