ViewModelでは、2つのコレクションを連結した別のコレクションを作成してバインドするだけです。のDataContextのと仮定し、その後
private List<int> sessionList1 = new List<int>();
private List<int> sessionList2 = new List<int>();
public MyViewModel()
{
for (int i = 0; i < 10; i++)
sessionList1.Add(i);
for (int i = 10; i < 20; i++)
sessionList2.Add(i);
}
public ReadOnlyObservableCollection<int> AllSessions
{
get
{
ObservableCollection<int> combinedList =
new ObservableCollection<int>(sessionList1.Concat(sessionList2));
return new ReadOnlyObservableCollection<int>(combinedList);
}
}
そして、:
簡単な例については、ここでは部分的ViewModelに(私はint型を使用していますが、あなたのセッションがあるオブジェクトどんな代用する必要がありますことに注意してください)ですあなたは(つまり、おそらくのObservableCollectionまたはReadOnlyObservableCollectionのいずれか)を返すために右のコレクションを考え出す必要があります
<ListBox ItemsSource="{Binding AllSessions}" />
、あなたが適切にあなたのセッションを連結する必要がありますが、これは取得する必要があります:私のビューがMyViewModelにバインドされていますあなたは行く。
なぜmyViewModel.sessionsに追加すると、自動的に反映されますか。私はそのObservableCollectionがあれば、はるかに良いコレクションを願っています。 –
anivas