如何将 IReadonlyReactiveList 绑定到 ReactiveCollectionView

How to bind IReadonlyReactiveList to ReactiveCollectionView

我有一个视图模型,它从休息服务中检索数据列表,并存储在 属性.

private readonly ObservableAsPropertyHelper<IReadOnlyReactiveList<Customer>> _searchResultCustomer;
public IReadOnlyReactiveList<Customer> SearchResultCustomer => _searchResultCustomer.Value;

我正在尝试在 SearchResultCustomerReactiveCollectionView 之间进行绑定,就像这样 this.OneWayBind(ViewModel, vm => vm.SearchResultCustomer, v => v.cvResult.DataSource);

不出所料,它不起作用,v.cvResult.DataSource 预期的类型是 IUICollectionViewDataSource

我该如何解决这个问题,是否有 Xamarin.IOS 的可用示例?谢谢:)

绑定到 UI 集合,例如 UITableView 或 UICollectionView,工作方式略有不同。方便的是,您甚至不需要创建自己的 UICollectionViewSource。只需使用初始化方法创建一个自定义单元格并像这样绑定:

ViewModel.WhenAnyValue(vm => vm.SearchResultCustomer).BindTo<Customer, CustomerCell>(collectionView, cell => cell.Initialize());

致谢 的 Paul Reichelt,他回答了类似的问题,但 UITableView 除外。

我分叉了他的示例项目并为 UICollectionView 添加了一个工作示例。我使用 IReactiveList 而不是 IReadOnlyReactiveList,但您应该能够修改它以满足您的需要。这是 source。希望对你有帮助。