2013-06-04 72 views
1

我在ItemsControl中有一組項目。我正在顯示所有這些內容,但是我想只顯示一部分內容。所以我有點想要指定ItemsControl的可見區域(或任何其他支持此元素的元素)。滾動應用後可以看到其他元素。WPF中元素的可滾動設置

我可以在ViewModel端做到這一點,並傳遞給ItemsControl只有可見的元素,但我對View-only解決方案感興趣。有沒有?

+1

爲什麼不使用一個ListBox?它已經支持滾動。 – Clemens

回答

2

您可以在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> 
相關問題