1

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

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

4

1 回答 1

2

您可以ScrollViewer在' 的样式中添加 a ,然后如果您的项目将溢出,则会出现 ScrollBarItemsControl的宽度或高度。ItemsControl

<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>
于 2013-06-04T10:39:28.073 回答