Это может показаться тривиальным вопросом, но даже здесь, в Stackflow, я нашел привязку только к простой коллекции строк.
У меня есть родительский класс с двумя свойствами Name и Age.
У меня есть класс Child с двумя свойствами ChildName и ChildAge.
В шаблоне MVVM я выставляю эти свойства в ViewModels, и, кроме того, я также добавляю в ParentViewModel также ObservableCollection Children
Поэтому ParentViewModel содержит три открытых свойства: Name, Age и Children.
//Inside ParentViewModel
public ObservableCollection<ChildViewModel> Children
Мой Window.xaml привязан к MainViewModel, которая предоставляет
public ObservableCollection<ParentViewModel> Parents { get; set; }
Datagrid определяется следующим образом:
<DataGrid ItemsSource="{Binding Parents}" AutoGenerateColumns="False">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Name}" />
<DataGridTextColumn Header="Age" Binding="{Binding Age}"/>
<DataGridComboBoxColumn Header="Children"
DisplayMemberPath="ChildName"
SelectedValueBinding="{Binding Children.ChildName}"
SelectedValuePath="ChildName"
SelectedItemBinding="{Binding Children}"
>
</DataGridComboBoxColumn>
</DataGrid.Columns>
</DataGrid>
Хотя имя и возраст родителей отображаются правильно, поле со списком «Дети» не заполнено. Я смущен и расстроен. Пожалуйста помоги. :)