У меня есть простая ViewModel, как:
public class MainViewModel {
ObservableCollection<Project> _projects;
public MainViewModel() {
// Fill _projects from DB here...
ProjectList.Source = _projects;
ProjectList.Filter = ...;
}
public CollectionViewSource ProjectList { get; set; }
}
Я установил в DataContext окна новый экземпляр этого ViewModel в конструкторе:
public MainWindow() {
this.DataContext = new MainViewModel();
}
Затем в Xaml я пытаюсь связать ItemsSource объекта ListBox с этим свойством ProjectList.
Привязка только ItemsSource, например, не работает:
<ListBox ItemsSource="{Binding ProjectList}" ItemTemplate="..." />
Но если я сначала перебазирую DataContext, это работает:
<ListBox DataContext="{Binding ProjectList}" ItemsSource="{Binding}" ItemTemplate="..." />
Разве первый метод не должен работать должным образом? Что я могу делать не так?