ObservableCollectionにデータを取り込むメソッドがあります。このObservableCollectionはXAMLにバインドされており、画面に表示されます。しかし、現在、それは単に下向きに伸びており、次のように次々と画像が表示されます。
たとえば、1行に5枚ずつ、ユーザーが下にスクロールできるように、画像をグリッド形式で表示したいと思います。どうすればこれを達成できますか?私が欲しいものの例:
私が理解しているように、下向きに拡張することは「メトロ」/「Windows 8アプリスタイル」とは見なされない場合があります。その場合、オーバーフローが右に拡張されて続行できるように、画像に示されている機能をどのようにエミュレートしますか?右にスクロールしますか?
現時点での私のコード:
<ItemsControl ItemsSource="{Binding Path=listOfImages}"
HorizontalContentAlignment="Stretch">
<ItemsControl.ItemTemplate>
<DataTemplate>
<StackPanel VerticalAlignment="Center">
<Image x:Name="images" Source="{Binding}" Visibility="Visible" Stretch="Fill" Width="200" Height="200"/>
</StackPanel>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
アップデート :
WrapGridを追加しましたが、次のように正しくレンダリングされません。
これが私が使用しているコードです:
<ItemsControl ItemsSource="{Binding Path=listOfImages}" Grid.Column="1" Grid.Row="3" Grid.ColumnSpan="5"
HorizontalContentAlignment="Stretch">
<ListView Height="Auto" Width="Auto">
<ItemsPanelTemplate>
<WrapGrid Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="4" VerticalAlignment="Center" Orientation="Horizontal">
<Image x:Name="images" Source="{Binding}" Visibility="Visible" Stretch="Fill" Width="200" Height="200"/>
</WrapGrid>
</ItemsPanelTemplate>
</ListView>
</ItemsControl>
私はここで何を誤解しましたか?どうもありがとう。
アップデート :
簡単なコード:
<ItemsControl ItemsSource="{Binding Path=listOfImages}">
<WrapGrid Grid.Row="4" Grid.Column="0" Grid.ColumnSpan="4" VerticalAlignment="Center" Orientation="Horizontal">
<Image x:Name="images" Source="{Binding}" Visibility="Visible" Stretch="Fill" Width="200" Height="200"/>
</WrapGrid>
</ItemsControl>