LongListSelector
は、Windows Phone Silverlightプロジェクトに入れてあり、ネストされたObservableCollection
にバインドされています。LongListSelectorを(WebClientを使用して)非同期に更新されるネストされたObserverCollectionにバインドします。
グループ化が働いて、自動的に更新を取得するためには、私はObservableCollection
を拡張するカスタムグループクラスを使用しています。
は私のクラスの構造は次のようになります。
Main.xaml.cs:
ObservableCollection<Group<MyViewModel>> _groups;
Group.cs:
Group<T> : ObservableCollection<T> {...}
私はWebClient
を使用して、非同期でグループを移入しています:
WebClient wc = new WebClient();
wc.OpenReadCompleted += (sender, obj) {
// parse the response here, get list of MyModels
...
foreach (var model in models)
{
var group = _groups.SingleOrDefault(g => g.Key == model.Key);
if (group == null)
{
group = new Group<MyModel> { Key = model.Key };
_groups.Add(group);
}
group.Add(model);
}
}
このすべてがLongListSelector
への結合を除いて、正常に動作します。 最初の項目は細かい追加されるが、後続のすべての項目がIndexOutOfBounds
例外グループリスト結果に追加しました。
CollectionChanged
イベントを処理して、ReadComplete
ではなくグループにアイテムを追加しようとしましたが、同じ結果です。
ご協力いただければ幸いです。