|
試行錯誤した結果、自己解決しました。
ListViewに渡すリストを二次元配列として定義することにしました。
見た目の微調整は必要ですが、一旦これで解決といたします。
public ReactiveCollection<List<Data>> Datas {get;set;}
Datas.Add(new List<Data>() { new Data(1, "あ"), new Data(2, "い"), new Data(3, "う"), new Data(4, "え"), new Data(5, "お")});
Datas.Add(new List<Data>() { new Data(6, "か"), new Data(7, "き"), new Data(8, "く"), new Data(9, "け"), new Data(10, "こ")});
以下、変更後のXAML
<ListView ItemsSource="{Binding Datas}"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<VirtualizingStackPanel Orientation="Vertical"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<ListView ItemsSource="{Binding}"
VirtualizingStackPanel.IsVirtualizing="True"
VirtualizingStackPanel.VirtualizationMode="Recycling">
<ListView.ItemsPanel>
<ItemsPanelTemplate>
<UniformGrid Columns="5"/>
</ItemsPanelTemplate>
</ListView.ItemsPanel>
<ListView.ItemTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
</Grid.RowDefinitions>
<TextBlock Text="{Binding Number}"/>
<TextBlock Grid.Row="1" Text="{Binding Name}" />
</Grid>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
|