这听起来像是一个微不足道的问题,但即使在 Stackflow 中,我也只发现绑定到一个简单的字符串集合。
我有一个具有两个属性名称和年龄的父类。
我有一个具有两个属性 ChildName 和 ChildAge 的 Child 类。
在 MVVM 模式中,我将这些属性公开到 ViewModels 中,此外,我还在 ParentViewModel 中添加了一个 ObservableCollection Children
因此,ParentViewModel 包含三个公开的属性:Name、Age 和 Children。
//Inside ParentViewModel
public ObservableCollection<ChildViewModel> Children
我的 Window.xaml 绑定到暴露一个
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>
虽然父母的姓名和年龄显示正确,但我没有看到填充的儿童组合框。我感到困惑和沮丧。请帮忙。:)