WPF显示一系列图像使用ItemsControl

时间:2017-07-15 02:11:11

标签: c# wpf xaml

这是我的XAML我想在ItemsControl中显示一系列图像使用DataTempalte, 当我运行程序时,屏幕只显示一个图像。我无法找到它的错误。

<Grid>
    <ScrollViewer HorizontalScrollBarVisibility="Visible">
        <ItemsControl Width="1024" Height="658" ItemsSource="{Binding ImageSet}" ScrollViewer.HorizontalScrollBarVisibility="Visible">
            <ItemsControl.ItemTemplate>
                <DataTemplate>
                    <StackPanel HorizontalAlignment="Left" VerticalAlignment="Top" Width="1024" Height="658" Orientation="Horizontal">
                        <Image x:Name="rectangle" Source="{Binding Img}"/>
                    </StackPanel>
                </DataTemplate>
            </ItemsControl.ItemTemplate>
        </ItemsControl>
    </ScrollViewer>
</Grid>

任何人都可以帮我找到,欣赏!

1 个答案:

答案 0 :(得分:0)

所以,如果我错了,请纠正我,但我认为你是想在你的照片中横向滚动。您已将ScrollViewer设置为水平滚动,但默认情况下,ItemsControl内部没有水平方向。这就是为什么你只看到一张照片。尝试更改默认ItemsPanel,看看您是否获得了更好的结果。像这样:

<Grid>
  <ScrollViewer HorizontalScrollBarVisibility="Visible">
    <ItemsControl Width="1024"
                  Height="658"
                  ItemsSource="{Binding ImageSet}"
                  ScrollViewer.HorizontalScrollBarVisibility="Visible">
      <ItemsControl.ItemsPanel>
        <ItemsPanelTemplate>
          <StackPanel Orientation="Horizontal"/>
        </ItemsPanelTemplate>
      </ItemsControl.ItemsPanel>
      <ItemsControl.ItemTemplate>
        <DataTemplate>
          <Image Source="{Binding Img}"/>
        </DataTemplate>
      </ItemsControl.ItemTemplate>
    </ItemsControl>
  </ScrollViewer>
</Grid>

当我第一次尝试理解WPF中的ItemsControl时,这对我来说是一个很好的资源:http://drwpf.com/blog/itemscontrol-a-to-z/