如何在TabControl中创建一个垂直滚动的ScrollViewer?

3

我希望我的TabControl可以垂直滚动,但是我似乎做不到。以下示例好像根本没有滚动条。我甚至尝试将TabControl放在滚动视图中,或将其全部放在网格中并限制网格的高度,但什么都没用。

    <DataTemplate x:Key="tabControlTemplate">

                <TabControl ItemsSource="{Binding guiItems}" DisplayMemberPath="Title" Height="Auto" Template="{StaticResource mainTabControlTemplateEx}">
                    <TabControl.ContentTemplate>
                            <DataTemplate> 
                                <ScrollViewer Grid.Row="1" VerticalScrollBarVisibility="Auto" CanContentScroll="True">
                                    <StackPanel Margin="2" HorizontalAlignment="Stretch" VerticalAlignment="Stretch">
                                          <ItemsControl ItemsSource="{Binding guiItems }" ItemTemplateSelector="{DynamicResource templateSelector}"/>
                                    </StackPanel>
                                </ScrollViewer>
                            </DataTemplate>
                     </TabControl.ContentTemplate>
                </TabControl>

    </DataTemplate>

你尝试过显式地设置选项 VerticalScrollBarVisibility="Visible" 吗? - CodingMate
我也试过了。它只是让一些灰色的滚动条出现了。 - NickLokarno
1个回答

0

从问题描述中无法清楚地了解实际问题。 您无法看到滚动视图器并且内容被裁剪?请确认是否是这种情况。

如果问题是您可以看到占用所有可用空间的整个内容,并且您想使用滚动视图器来控制它,则需要在滚动视图器上设置“MaxHeight”属性。这将限制您的DataTemplate的高度,并使垂直滚动条可见,如果内部内容超出MaxHeight。

希望能有所帮助。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接