2009-05-22 5 views

Répondre

1

Enrouler un tag ScrollViewer autour

<ScrollViewer> 
    <WrapPanel> 
     <!-- your other controls here --> 
    </WrapPanel> 
</ScrollViewer> 
3

Cela ne fonctionnera pas ici,

<ItemsControl.ItemsPanel> 
     <ItemsPanelTemplate> 
      <ScrollViewer> 
       <WrapPanel Orientation="Horizontal" /> 
      </ScrollViewer> 
     </ItemsPanelTemplate> 
    </ItemsControl.ItemsPanel> 

Vous obtenez une exception méchant, VisualTree de ItemsPanelTemplate doit contenir un groupe spécial. 'System.Windows.Controls.ScrollViewer' n'est pas un Panel.

0

Cet échantillon (modifié à partir de l'échantillon Kaxaml) devrait vous aider:

<Page 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Grid> 
    <Grid.Resources> 
     <XmlDataProvider x:Key="flickrdata" Source="http://api.flickr.com/services/feeds/photos_public.gne?tags=flower&amp;lang=en-us&amp;format=rss_200"> 
      <XmlDataProvider.XmlNamespaceManager> 
      <XmlNamespaceMappingCollection> 
       <XmlNamespaceMapping Prefix="media" Uri="http://search.yahoo.com/mrss/"/> 
      </XmlNamespaceMappingCollection> 
      </XmlDataProvider.XmlNamespaceManager> 
     </XmlDataProvider> 
     <DataTemplate x:Key="itemTemplate"> 
      <Image Width="75" Height="75" Source="{Binding Mode=OneWay, XPath=media:thumbnail/@url}"/> 
     </DataTemplate> 
     <ControlTemplate x:Key="controlTemplate" TargetType="{x:Type ItemsControl}"> 
      <WrapPanel IsItemsHost="True" Orientation="Horizontal"/> 
     </ControlTemplate> 
    </Grid.Resources> 
    <ScrollViewer Width="320" Height="225"> 
     <ItemsControl 
     Width="300" 
     ItemsSource="{Binding Mode=Default, Source={StaticResource flickrdata}, XPath=/rss/channel/item}" 
     ItemTemplate="{StaticResource itemTemplate}" 
     Template="{StaticResource controlTemplate}"> 
     </ItemsControl> 
    </ScrollViewer> 
</Grid> 
</Page> 
Questions connexes