ViewModel에서 두 컬렉션의 연결 인 다른 컬렉션을 만들고 그 컬렉션에 바인딩하기 만하면됩니다. 간단한 예를 들어
, 여기 부분의 ViewModel (나는의 int를 사용 있습니다,하지만 당신은 무엇이든 당신의 세션 객체를 대체해야합니다)입니다 : 가정, 다음
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);
}
}
와 그의 DataContext에 내보기는 MyViewModel에 바인딩 :
<ListBox ItemsSource="{Binding AllSessions}" />
당신은 (즉, 아마 하나 ObservableCollection에 또는 ReadOnlyObservableCollection) 돌아올 권리 수집을 마련 할 필요가, 당신이 적절하게 세션을 연결해야하지만이 가야 너 간다.
왜 myViewModel.sessions에 추가했는지 자동으로 반영됩니다. 그것의 ObservableCollection 경우 훨씬 더 나은 컬렉션을 바랍니다. –
anivas