如何将 IReadonlyReactiveList 绑定到 ReactiveCollectionView
How to bind IReadonlyReactiveList to ReactiveCollectionView
我有一个视图模型,它从休息服务中检索数据列表,并存储在 属性.
中
private readonly ObservableAsPropertyHelper<IReadOnlyReactiveList<Customer>> _searchResultCustomer;
public IReadOnlyReactiveList<Customer> SearchResultCustomer => _searchResultCustomer.Value;
我正在尝试在 SearchResultCustomer
和 ReactiveCollectionView
之间进行绑定,就像这样 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。希望对你有帮助。
我有一个视图模型,它从休息服务中检索数据列表,并存储在 属性.
中private readonly ObservableAsPropertyHelper<IReadOnlyReactiveList<Customer>> _searchResultCustomer;
public IReadOnlyReactiveList<Customer> SearchResultCustomer => _searchResultCustomer.Value;
我正在尝试在 SearchResultCustomer
和 ReactiveCollectionView
之间进行绑定,就像这样 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());
致谢
我分叉了他的示例项目并为 UICollectionView 添加了一个工作示例。我使用 IReactiveList 而不是 IReadOnlyReactiveList,但您应该能够修改它以满足您的需要。这是 source。希望对你有帮助。