2013-08-23 39 views
10

Tôi có ItemsControl bên dưới bao bọc các mục hoàn hảo nhưng không có thanh cuộn dọc nên tôi không thể thấy các mục được gói. Làm thế nào tôi có thể lấy thanh cuộn để hiển thị?ItemsControl thiếu thanh cuộn dọc

<ItemsControl x:Name="tStack" Grid.Column="0" Grid.Row="1" 
        ItemsSource="{Binding Shows.View}" 
        HorizontalAlignment="Stretch" VerticalAlignment="Stretch" 
        BorderThickness="0.5"> 
     <ItemsControl.ItemsPanel> 
      <ItemsPanelTemplate> 
       <WrapPanel Orientation="Horizontal" HorizontalAlignment="Left" 
          VerticalAlignment="Top"/> 
      </ItemsPanelTemplate> 
     </ItemsControl.ItemsPanel> 
     <ItemsControl.ItemTemplate> 
      <DataTemplate> 
       <Viewbox HorizontalAlignment="Left" Height="250"> 
        <Controls1:MyShowsUserControl Padding="10"/> 
       </Viewbox> 
      </DataTemplate> 
     </ItemsControl.ItemTemplate> 
    </ItemsControl> 

Trả lời

19

ItemsControl theo mặc định không quấn ItemsPresenter trong ScrollViewer vì vậy bạn phải làm điều đó bằng tay như sau:

<ScrollViewer Grid.Column="0" Grid.Row="1"> 
    <ItemsControl x:Name="tStack" ... > 
     <!-- .... --> 
    </ItemsControl> 
</ScrollViewer> 
+0

Rất lạ ... Tôi đã thử nó 20x trước và nó đã không làm việc và bây giờ nó ... Cảm ơn bạn! – touyets

+1

Tôi đã tìm ra vấn đề: nếu tôi nhập giá trị cho chế độ hiển thị thanh cuộn ngang của scrollviewer thì nó không hoạt động đúng cách – touyets

4

Bọc ItemsControl trong điều khiển ScrollViewer.

<ScrollViewer VerticalScrollBarVisibility="Auto"> 
    <ItemsControl ... 
</ScrollViewer> 

Hãy nhớ đặt thuộc tính Grid.Column="0" Grid.Row="1" vào ScrollViewer thay vì trong ItemControl của bạn.

0

Sử dụng ScrollViewer và thiết lập thuộc tính "VerticalScrollBarVisibility" true.

< ScrollViewer VerticalScrollBarVisibility = "Auto">

Đây ItemsControl bạn

</ScrollViewer>

Các vấn đề liên quan