这可能听起来像一个微不足道的问题,但即使在Stackflow中我也只发现了对简单字符串集合的绑定。
我有一个Parent类,它有两个属性Name和Age。
我有一个Child类,它有两个属性ChildName和ChildAge。
在MVVM模式中,我将这些属性暴露给ViewModel,另外我还在ParentViewModel中添加了一个ObservableCollection Children
因此,ParentViewModel包含三个公开的属性:Name,Age和Children。
//Inside ParentViewModel
public ObservableCollection<ChildViewModel> Children
My Window.xaml绑定到正在公开
的MainViewModelpublic 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>
虽然父母的姓名和年龄显示正确,但我没有看到填充的儿童组合框。 我感到困惑和沮丧。请帮忙。 :)
答案 0 :(得分:0)
将DataGridComboBoxColumn
的{{1}}属性设置为ItemsSource
。