使TabControl标头在WPF中可滚动

NTi*_*cht 4 c# wpf tabcontrol scrollbar

正如标题中提到的,我想将TabControl的标题更改为可滚动.

原因是:我有太多的tabItems,在我的情况下,包装不是最好的解决方案.所以我想改变它:

包装行为

对于类似的东西(箭头指示的滚动条):

滚动行为

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

dko*_*ozl 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>
Run Code Online (Sandbox Code Playgroud)