如果TabControl-Items位于左侧,则不可见tabitem
本文关键字:tabitem TabControl-Items 于左侧 如果 | 更新日期: 2023-09-27 18:11:14
我有一个TabControl在它上面的应用程序。这个TabControl的tabitem是在应用程序运行时动态创建的。
创建TabControl的示例代码如下:<TabControl x:Name="tcTabs" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" TabStripPlacement="Left"/>
如果我将TabStripPlacement
设置为Top,我可以看到所有TabItems。但是在我的例子中,当TabStripPlacement
被设置为Left时,可能会出现TabItems显示在应用程序的边界之外。
是否有机会获得像滚动查看器或其他东西,在那里我可以滚动到不可见的TabItems?或者将TabItems设置为左边框的两列或多列
就像xamlei已经提到的
你应该用ControlTemplate
代替TabControl
这里是工作示例(这里是原始)
<TabControl TabStripPlacement="Left" Height="60">
<TabControl.Template>
<ControlTemplate TargetType="TabControl">
<StackPanel Orientation="Horizontal">
<ScrollViewer VerticalScrollBarVisibility="Visible" HorizontalScrollBarVisibility="Disabled" >
<TabPanel x:Name="HeaderPanel" Margin="2,2,2,0" IsItemsHost="true" />
</ScrollViewer>
<ContentPresenter x:Name="PART_SelectedContentHost"
SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"
Margin="{TemplateBinding Padding}"
ContentSource="SelectedContent"/>
</StackPanel>
</ControlTemplate>
</TabControl.Template>
<TabItem Header="Visible" >
<Grid Width="100" Height="100" Background="Blue"/>
</TabItem>
<TabItem Header="Visible"/>
<TabItem Header="Visible"/>
<TabItem Header="inv" Background="Red">
<Button Content="blubb"></Button>
</TabItem>
<TabItem Header="inv"/>
<TabItem Header="inv"/>
<TabItem Header="inv"/>
</TabControl>