2014-02-25 44 views
3

我想使它成为可以垂直滚动的TabControl,但我似乎无法做到这一点。以下示例的行为好像根本没有scrollviewer。我甚至试图把TabControl放在scrollviewer中,或者把它全部放在网格中,并限制网格的高度,但没有任何效果。如何在tabControl中制作一个垂直滚动的scrollviewer?

<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> 
+0

您是否尝试过明确提出的'VerticalScrollBarVisibility =“可见”' – CodingMate

+0

我试过太多的选项。它所做的只是使一些灰色滚动条出现。 – NickLokarno

回答

0

实际问题不明确的问题。 你没有看到scrollviewer和内部剪辑?如果确实如此,请确认。

如果问题是你看到整个内容占用所有可用空间,并且你想使用滚动查看器来控制它,那么你需要在Scroll Viewer上设置'MaxHeight'属性。这会限制DataTemplate的高度,并且如果内部内容超出MaxHeight,则会使verticall滚动条可见。

希望有所帮助。