如何使 WPF TabControl 在 Windows 窗体中使用 MultiLine = false 出现(默认)

Bre*_*yan 5 wpf xaml tabcontrol

在 Windows 窗体中,TabControl 的默认行为是,如果选项卡占用太多空间 (MultiLine = false),则将选项卡溢出到可滚动区域。

在 WPF 中实现此行为的最佳方法是什么?

更新

我试图找到一个解决方案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>
Run Code Online (Sandbox Code Playgroud)

tyr*_*ker 4

在制作 TabControl 时,选项卡沿左侧垂直堆叠,我为您找到了这个解决方案:

http://www.blogs.intuidev.com/post/2010/02/10/TabControlStyling_PartThree.aspx

非常令人印象深刻的东西!