2

有人知道如何将滚动条添加到包含在 itemscontrol 中的包装面板中吗?

4

3 回答 3

3

在这里行不通

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

你得到一个讨厌的异常,ItemsPanelTemplate 的 VisualTree 必须包含一个面板。'System.Windows.Controls.ScrollViewer' 不是面板。

于 2010-06-15T14:32:23.693 回答
1

在它周围包裹一个 ScrollViewer 标签

<ScrollViewer>
   <WrapPanel>
      <!-- your other controls here -->
   </WrapPanel>
</ScrollViewer>
于 2009-05-22T15:49:47.950 回答
0

此示例(从 Kaxaml 示例修改)应该可以帮助您:

    <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>
于 2011-03-03T06:55:36.383 回答