2011-11-24 6 views

Respuesta

20

Se puede utilizar absolutamente el WrapPanel para mostrar una lista de imágenes, el desplazamiento vertical u horizontalmente. Para obtener el tipo de efecto panorámico baldosas como en hub con sus imágenes, se podría hacer algo como esto:

 <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> 

Tenga en cuenta que una WrapPanel dentro de un cuadro de lista no recoger el DataTemplate se define por lo que tiene .. completa libertad para enlazar cualquier lista a su WrapPanel.

Espero que esto ayude!

+0

Muchas gracias. –

+3

En lugar del ListBox puede usar ItemsControl más simple. – Heiner

2

Sí, definitivamente no es el WrapPanel, no tiene ItemsSource, no puede tomar una lista. Use ListBox y puede establecer ItemsSource.

Editar

enter image description here

+0

Sé de ListBox pero no muestra fotos buenas. ItemSource Es un ejemplo, quiero decir que le doy a WrapPanel una lista y muestra automáticamente esta lista. –

+0

Bueno, puedes jugar con ControlTemplate del ListBox para mostrarlo como quieras. WrapPanel, hereda del Panel. Básicamente necesitas algo que implemente Itemscontrol. Verifique mi respuesta para ver los elementos que implementan ItemsControl para las elecciones que tiene. – MBen

+0

Ok gracias. (15 caracteres) –

0

Busca lo mismo y encontré esto: 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> 

o puede utilizar Xceed's SwitchPanel.

Cuestiones relacionadas