【问题标题】:How to style groups of data as they are loaded incrementally in WinRT?如何在 WinRT 中以增量方式加载数据组?
【发布时间】:2012-12-20 14:57:26
【问题描述】:

在WinRT中如果要支持增量加载,数据源必须实现ISupportIncrementalLoading接口。我已经实现了这个,并且数据在 GridView 中正确显示。

我逐步提取的数据有一个与之关联的日期。我想将关联的月份显示为已下拉数据的“组标题”。但是,随着增量加载项目的月份发生变化,我看不到在“组标题”中设置样式的干净方式。

我意识到通过CollectionViewSource 支持 WinRT 中的正常分组,但据我了解这与 ISupportIncrementalLoading 不兼容。这对于一般情况是有意义的,因为新加载的项目实际上可能不会放在最后。但是,在这种情况下,我知道数据已经在服务器上按月份分组并按顺序拉下来。

有没有办法像我上面画的那样在“组标题”中设置样式?

【问题讨论】:

  • 我发现了一个博客(mikaelkoskinen.net/…) 可以部分解决这个问题,方法是将组头作为元素的一部分,然后对其进行不同的样式设置。有没有办法让它更接近正常分组的样式?

标签: windows-8 microsoft-metro windows-runtime winrt-xaml


【解决方案1】:

CollectionViewSource 确实兼容 ISupportIncrementalLoading,只需将 CollectionViewSource 的源设置为实现 ISupportIncrementalLoading 的东西即可。

【讨论】:

  • 你试过了吗?这样做不会触发 LoadMoreItemsAsync() 或 HasMoreItems() 覆盖被调用。
  • 对不起,我没有注意到您提到您启用了分组。分组不适用于 UI 虚拟化。 MSFT 强制 ItemsControl 中的每个 UIElement 大小相同以获取 UI 虚拟化。对他们来说,更快地开发 winRT 是一个很大的假设。
猜你喜欢
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多