在
Windows窗体中,TabControl的默认行为是,如果选项卡占用太多空间(MultiLine = false),则将选项卡溢出到可滚动区域.
在WPF中实现此行为的最佳方法是什么?
UPDATE
我试图找到一个使用TabControl.ItemsPanel的解决方案,但似乎我放在那里的任何东西都被完全忽略了,所以由于这个原因,我已经走了艰难的道路并开始使用TabControl.Template这是令人难以置信的,我们必须这样做如果结果证明这是正确的方法.
远非完整,我对问题的解决方案如下.
<TabControl> <TabControl.Template> <ControlTemplate TargetType="{x:Type TabControl}"> <DockPanel> <ScrollViewer DockPanel.Dock="Top" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Disabled"> <StackPanel Orientation="Horizontal" IsItemsHost="True" /> </ScrollViewer> <ContentPresenter ContentSource="SelectedContent" /> </DockPanel> </ControlTemplate> </TabControl.Template> <TabItem Header="One">First</TabItem> <TabItem Header="Two">Second</TabItem> <TabItem Header="Three">Third</TabItem> <TabItem Header="Four">Fourth</TabItem> <TabItem Header="Five">Fifth</TabItem> </TabControl>
解决方法
在制作TabControl时,标签沿左侧垂直堆叠,我找到了适合您的解决方案:
http://www.blogs.intuidev.com/post/2010/02/10/TabControlStyling_PartThree.aspx
相当令人印象深刻