C# MvxObservableCollection AddRange
我有viewmodel(带Fody INPC): 现在,当我单击按钮时,我得到错误“不支持范围操作”。当我从xaml中删除ListView时,所有操作都正常。 我可以将ListView更改为DataGrid或其他列表控件-错误将是相同的C# MvxObservableCollection AddRange,c#,wpf,xaml,binding,mvvmcross,C#,Wpf,Xaml,Binding,Mvvmcross,我有viewmodel(带Fody INPC): 现在,当我单击按钮时,我得到错误“不支持范围操作”。当我从xaml中删除ListView时,所有操作都正常。 我可以将ListView更改为DataGrid或其他列表控件-错误将是相同的 我想知道,如何将视图绑定到MvxObservableCollection?如果您自己一个一个地将项目添加到源集合中会怎么样 private async void GetItemsAsync() { var items = await itemsServi
我想知道,如何将视图绑定到MvxObservableCollection?如果您自己一个一个地将项目添加到源集合中会怎么样
private async void GetItemsAsync()
{
var items = await itemsService.GetItemsAsync();
ItemsCollection.Clear();
foreach (var item in items)
ItemsCollection.Add(item);
}
…或将源属性重新设置为新集合:
private async void GetItemsAsync()
{
var items = await itemsService.GetItemsAsync();
ItemsCollection = new MvxObservableCollection<Item>(items);
}
private async void GetItemsAsync()
{
var items=await itemsService.GetItemsAsync();
ItemsCollection=新的MvxObservableCollection(项目);
}
显然,“范围操作不受支持”用于数据绑定
MvxObservableCollection
“Foreach添加”和“重新设置”工作正常。我现在使用“foreach add”。我认为还有另一种绑定MvxObservableCollection的方法可以使AddRange工作。您得到的异常消息应该是不言自明的。显然,不支持调用AddRange。在将视图绑定到MvxObservableCollection之前,支持调用AddRange。这是在集合被数据绑定之前的点…错误消息对您来说还不清楚吗?或者你现在的问题是什么?
[MvxViewFor(typeof(ItemsViewModel))]
partial class ItemsView
{
public DocumentTypeEditorView()
{
InitializeComponent();
}
}
private async void GetItemsAsync()
{
var items = await itemsService.GetItemsAsync();
ItemsCollection.Clear();
foreach (var item in items)
ItemsCollection.Add(item);
}
private async void GetItemsAsync()
{
var items = await itemsService.GetItemsAsync();
ItemsCollection = new MvxObservableCollection<Item>(items);
}