Description
TableView currently supports incremental loading through ISupportIncrementalLoading.
Internally, CollectionView forwards incremental loading requests as follows:
public IAsyncOperation<LoadMoreItemsResult>? LoadMoreItemsAsync(uint count)
{
return (_source as ISupportIncrementalLoading)?.LoadMoreItemsAsync(count);
}
public bool HasMoreItems =>
(_source as ISupportIncrementalLoading)?.HasMoreItems ?? false;
However, when using Uno.Extensions MVUX:
public IListFeed<MyItem> Items =>
ListFeed.PaginatedAsync(...);
the runtime source becomes:
Uno.Extensions.Reactive.Bindings.BindableListFeed<T>
which does not implement ISupportIncrementalLoading.
As a result:
_source as ISupportIncrementalLoading
returns null and TableView never requests additional pages.
Expected behavior
TableView should support Uno.Extensions MVUX paginated feeds similarly to ListView, or provide an extensibility point for custom incremental loading providers.
Environment
- Uno Platform
- Uno.Extensions.Reactive
- WinUI.TableView
Contribution:
Description
TableView currently supports incremental loading through
ISupportIncrementalLoading.Internally,
CollectionViewforwards incremental loading requests as follows:However, when using Uno.Extensions MVUX:
the runtime source becomes:
which does not implement
ISupportIncrementalLoading.As a result:
returns null and TableView never requests additional pages.
Expected behavior
TableView should support Uno.Extensions MVUX paginated feeds similarly to ListView, or provide an extensibility point for custom incremental loading providers.
Environment
Contribution: