ItemsControl缺少垂直滚动条

时间:2013-08-23 08:05:15

标签: wpf xaml scroll itemscontrol

我有以下ItemsControl完美包装项目但它没有垂直滚动条所以我看不到包装的项目。如何让滚动条显示?

    <ItemsControl x:Name="tStack" Grid.Column="0" Grid.Row="1"
                  ItemsSource="{Binding Shows.View}"
                  HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
                  BorderThickness="0.5">
        <ItemsControl.ItemsPanel>
            <ItemsPanelTemplate>
                <WrapPanel Orientation="Horizontal" HorizontalAlignment="Left"
                           VerticalAlignment="Top"/>
            </ItemsPanelTemplate>
        </ItemsControl.ItemsPanel>
        <ItemsControl.ItemTemplate>
            <DataTemplate>
                <Viewbox HorizontalAlignment="Left"  Height="250">
                    <Controls1:MyShowsUserControl Padding="10"/>
                </Viewbox>
            </DataTemplate>
        </ItemsControl.ItemTemplate>
    </ItemsControl>

3 个答案:

答案 0 :(得分:20)

ItemsControl默认情况下不会将ItemsPresenter包裹在ScrollViewer中,因此您必须手动执行此操作:

<ScrollViewer Grid.Column="0" Grid.Row="1">
   <ItemsControl x:Name="tStack" ... >
      <!-- .... -->
   </ItemsControl>
</ScrollViewer>

答案 1 :(得分:4)

ItemsControl包裹在ScrollViewer控件中。

<ScrollViewer VerticalScrollBarVisibility="Auto">
  <ItemsControl ...
</ScrollViewer>

请记住将Grid.Column="0" Grid.Row="1"属性放在ScrollViewer中,而不是放在ItemControl中。

答案 2 :(得分:0)

使用ScrollViewer并将属性“VerticalScrollBarVisibility”设置为true。

&LT; ScrollViewer VerticalScrollBarVisibility =“Auto”&gt;

这里是您的ItemsControl

&LT; /&的ScrollViewer GT;