2011-11-24 23 views

Trả lời

20

Bạn hoàn toàn có thể sử dụng WrapPanel để hiển thị một danh sách các hình ảnh, di chuyển theo chiều dọc hoặc chiều ngang. Để có được loại có hiệu lực toàn cảnh ngói như trong dân trung tâm với hình ảnh của bạn, bạn có thể làm một cái gì đó như thế này:

 <controls:PanoramaItem Header="something" Orientation="Horizontal" Margin="0,-15,0,0" >     
      <ListBox Name="SomeList" Margin="0,0,-12,0" ItemsSource="{Binding SomeItemsList}" > 
       <ListBox.ItemsPanel> 
        <ItemsPanelTemplate> 
         <toolkit:WrapPanel x:Name="wrapPanel" Width="700" /> 
        </ItemsPanelTemplate> 
       </ListBox.ItemsPanel> 
       <ListBox.ItemTemplate> 
        <DataTemplate> 
         <StackPanel Orientation="Horizontal" Margin="0,0,0,17">         
          <Image Height="200" Width="200" Margin="12,0,9,0" Source="{Binding ImageURL}" />         
         </StackPanel> 
        </DataTemplate> 
       </ListBox.ItemTemplate> 
      </ListBox> 
     </controls:PanoramaItem> 

Xin lưu ý rằng WrapPanel bên trong một ListBox không nhặt DataTemplate bạn xác định .. vì vậy bạn phải hoàn toàn tự do để ràng buộc bất kỳ danh sách để WrapPanel của bạn.

Hy vọng điều này sẽ hữu ích!

+0

Cảm ơn bạn rất nhiều. –

+3

Thay vì ListBox bạn có thể sử dụng ItemsControl đơn giản hơn. – Heiner

2

Có dứt khoát không phải là WrapPanel, nó không có ItemsSource, nó không thể lấy danh sách. Sử dụng ListBox và bạn có thể đặt ItemsSource.

Sửa

enter image description here

+0

Tôi biết về ListBox nhưng nó không hiển thị tốt ảnh. ItemSource Ví dụ, tôi muốn nói rằng tôi đưa cho WrapPanel một danh sách và nó sẽ tự động hiển thị danh sách này. –

+0

Bạn có thể chơi với ControlTemplate của ListBox để hiển thị như bạn muốn. WrapPanel, kế thừa từ Panel. Bạn về cơ bản cần một cái gì đó mà thực hiện Itemscontrol. Kiểm tra câu trả lời của tôi để xem các phần tử triển khai ItemsControl cho các lựa chọn mà bạn có. – MBen

+0

Ok cảm ơn (15 ký tự) –

0

Tìm kiếm cùng một thứ và gặp phải điều này: Displaying a Collection of Items in a WrapPanel.

<ItemsControl ItemsSource="{Binding ActorList}" Margin="20"> 
<ItemsControl.ItemTemplate> 
    <DataTemplate> 
     <Image Source="{Binding Image}" Height="100"/> 
    </DataTemplate> 
</ItemsControl.ItemTemplate> 
<ItemsControl.ItemsPanel> 
    <ItemsPanelTemplate> 
     <WrapPanel/> 
    </ItemsPanelTemplate> 
</ItemsControl.ItemsPanel> 

hoặc bạn có thể sử dụng Xceed's SwitchPanel.

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