2008-10-09 162 views
29

我想在WPF中创建一个选项卡控件,其中的选项卡按照控件的右侧排列,文本旋转90度外观类似于那些塑料选项卡你可以在笔记本上购买和使用。我尝试将TabStripPlacement更改为Right,但它只是将控件的右上方的选项卡堆叠起来 - 根本不是我想到的。如何把WPF选项卡控制选项卡放在边上

回答

47

我相信你正在寻找的效果是通过在Tab标签集合中为TabItem的提供一个HeaderTemplate来实现的。

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

希望这有助于!

+0

如果选项卡长度比网格高,是否有某种方法可以让选项卡滚动,以显示最初不可见的那些? – Number8 2009-06-25 16:59:12

相关问题