我想显示TodoCollection
的列表,然后是FinishedCollection
的列表。我可以将它们放在两个列表中,然后放入StackPanel
中。但是stackpanel不支持虚拟化,也没有针对大数据进行优化。
<StackPanel>
<ListView
ItemsSource="{Binding TodoCollection}"
ItemClick="TodoCollection_ItemClick"
ItemTemplate="{StaticResource TodoTemplate}"/>
<ListView
ItemsSource="{Binding FinishedCollection}"
ItemClick="FinishedCollection_ItemClick"
ItemTemplate="{StaticResource FinishedTemplate}"/>
</StackPanel>
如何在页面中一个接一个地显示两个列表?
如果您想保持ListView
的虚拟化,那么您可以使用Grid
,或任何其他不给其子结点无限空间的Panel
<Grid>
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<ListView
Grid.Row="0"
ItemsSource="{Binding TodoCollection}"
ItemClick="TodoCollection_ItemClick"
ItemTemplate="{StaticResource TodoTemplate}"/>
<ListView
Grid.Row="1"
ItemsSource="{Binding FinishedCollection}"
ItemClick="FinishedCollection_ItemClick"
ItemTemplate="{StaticResource FinishedTemplate}"/>
</Grid>