增量加载的跨平台实现

Cross-platform implementation of incremental loading

目前我正在移植我的 UWP 应用程序以引用包含所有逻辑的跨平台 PCL。 虽然这很好用,但我正在努力解决特定于平台的实现,例如 UWP 平台上的 ISupportIncrementalLoading 接口。

问题是 PCL 包含一个 ViewModel(称为 MainViewModel)。这个 ViewModel 有一个叫做 Items 的 属性,它基本上是一个 ObservableCollection<ItemViewModel>。 UWP平台的ListView控件是支持增量加载的,如果底层集合实现了ISupportIncrementalLoading接口

在尽可能多地保留共享逻辑的同时实现此接口的最佳方法是什么?

即使这不是真正的解决方案,我的方法是将增量加载逻辑踢出 PCL,以便 MainViewModel.Items 属性 包含所有项目。 然后我创建了一个新的 UWP MainViewModel,然后使用 ISupportIncrementalLoading 接口处理增量加载逻辑。