我在ItemsControl中有一组项目。我正在显示所有这些,但我想只显示一部分项目。所以我想指定ItemsControl的可见区域(或任何其他支持它的元素)。应用滚动后可以看到其他元素。
我可以在ViewModel端执行此操作并仅向ItemsControl传递可见元素,但我对仅查看解决方案感兴趣。有没有?
答案 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>