c# - 在 WPF 中使 TabControl header 可滚动

标签 c# wpf scrollbar tabcontrol

如标题中所述,我想将 TabControl 的标题更改为可滚动。

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

Wrapping behaviour

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

scrolling behaviour

任何人都可以帮助我并展示如何做到这一点吗? (我正在使用 wpf)

最佳答案

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>

关于c# - 在 WPF 中使 TabControl header 可滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26764401/

相关文章:

javascript - Mac 和 IOS Safari 上的奇怪滚动条行为 (css/javascript)

c# - MVC3 应用程序中的通用 "back"按钮

C# 和转换泛型参数

WPF弹出位置问题

javascript - jQuery datepicker 导致页面溢出

JQuery mCustomScrollbar autoScrollOnFocus

c# - 如何将 SQL 日期转换为 DateTime?

c# - 连接 C# 和 Java 的最佳方式是什么?

c# - WPF 和 Prism 的通用对话框窗口

C# Nancy.Hosting.Self 不响应网络请求,只响应本地主机请求