1
我在ItemsControl中有一組項目。我正在顯示所有這些內容,但是我想只顯示一部分內容。所以我有點想要指定ItemsControl的可見區域(或任何其他支持此元素的元素)。滾動應用後可以看到其他元素。WPF中元素的可滾動設置
我可以在ViewModel端做到這一點,並傳遞給ItemsControl只有可見的元素,但我對View-only解決方案感興趣。有沒有?
我在ItemsControl中有一組項目。我正在顯示所有這些內容,但是我想只顯示一部分內容。所以我有點想要指定ItemsControl的可見區域(或任何其他支持此元素的元素)。滾動應用後可以看到其他元素。WPF中元素的可滾動設置
我可以在ViewModel端做到這一點,並傳遞給ItemsControl只有可見的元素,但我對View-only解決方案感興趣。有沒有?
您可以在ItemsControl
的樣式中添加ScrollViewer
,如果您的物品將溢出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>
爲什麼不使用一個ListBox?它已經支持滾動。 – Clemens