2014-11-05 132 views
4

正如Title中所提到的,我想将TabControl的标题更改为可滚动。使TabControl标题在WPF中可滚动

原因:我有太多的tabItems,并且包装不是我最好的解决方案。所以我想从改变:

Wrapping behaviour

为了这样的事情(按箭头指示滚动条):

scrolling behaviour

谁能帮助我,并展示如何做到这一点? (我使用WPF)

+0

参见[WPF:TabControl的系列 - 第1部分:颜色和尺寸](HTTP:// WWW。 blogs.intuidev.com/post/2010/post/2010/01/25/TabControlStyling_PartOne.aspx)。第3部分是本博客讨论滚动问题的地方。 – LarsTech 2014-11-05 18:31:02

+0

@LarsTech这不是我想要的,没有滚动条,他的解决方案非常复杂!感谢您的意见 – NTinkicht 2014-11-05 18:33:50

+1

还有[WPF单行选项卡控件](http://rickdoes.net/post/2009/11/06/WPF-Single-Row-Tab-Control.aspx) – LarsTech 2014-11-05 19:25:46

回答

10

更改TabControl.Template简单的东西像这似乎为我工作

<TabControl ...> 
    <TabControl.Template> 
     <ControlTemplate TargetType="{x:Type TabControl}"> 
      <Grid> 
       <Grid.RowDefinitions> 
        <RowDefinition Height="Auto"/> 
        <RowDefinition/> 
       </Grid.RowDefinitions> 
       <ScrollViewer HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled"> 
        <TabPanel x:Name="HeaderPanel" IsItemsHost="True" Margin="0,4,0,0"/> 
       </ScrollViewer> 
       <ContentPresenter x:Name="PART_SelectedContentHost" Margin="4" ContentSource="SelectedContent" Grid.Row="1"/> 
      </Grid> 
     </ControlTemplate> 
    </TabControl.Template> 
</TabControl>