WPF中可滚动的元素集

时间:2013-06-04 09:45:43

标签: wpf

我在ItemsControl中有一组项目。我正在显示所有这些,但我想只显示一部分项目。所以我想指定ItemsControl的可见区域(或任何其他支持它的元素)。应用滚动后可以看到其他元素。

我可以在ViewModel端执行此操作并仅向ItemsControl传递可见元素,但我对仅查看解决方案感兴趣。有没有?

1 个答案:

答案 0 :(得分:2)

您可以在ScrollViewer的样式中添加ItemsControl,如果您的商品会溢出ItemsControl的宽度或高度,则会出现ScrollBar。

<Style x:Key="ItemsControlStyle1" TargetType="{x:Type ItemsControl}">
        <Setter Property="Template">
            <Setter.Value>
                <ControlTemplate TargetType="{x:Type ItemsControl}">
                    <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true">
                        <ScrollViewer VerticalScrollBarVisibility="Auto">
                            <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/>
                        </ScrollViewer>
                    </Border>
                </ControlTemplate>
            </Setter.Value>
        </Setter>
    </Style>