1

我有一个带有 TabControl 的应用程序。此 TabControl 的 TabItems 是在应用程序运行时动态创建的。

创建 TabControl 的 xaml 代码是:

<TabControl x:Name="tcTabs" Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="6" TabStripPlacement="Left"/>

如果我将其设置TabStripPlacement为顶部,我可以看到所有 TabItems。但在我的情况下,如果TabStripPlacement设置为 Left,则 TabItems 可能会显示在应用程序的边界之外。

是否有机会获得类似滚动查看器或其他东西的东西,我可以在其中滚动到不可见的 TabItems?或者只是将 TabItems 设置在左边框的两列或多列中。

4

1 回答 1

2

就像已经提到的 XAMLeLi

你应该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>
于 2013-04-29T12:49:20.583 回答