【发布时间】:2010-10-02 11:04:48
【问题描述】:
这听起来像是一个微不足道的问题,但即使在 Stackflow 中,我也只发现绑定到一个简单的字符串集合。
我有一个包含两个属性 Name 和 Age 的 Parent 类。
我有一个具有两个属性 ChildName 和 ChildAge 的 Child 类。
在 MVVM 模式中,我将这些属性公开到 ViewModels 中,此外,我还将 ObservableCollection Children 添加到 ParentViewModel 中
因此,ParentViewModel 包含三个公开的属性:Name、Age 和 Children。
//Inside ParentViewModel
public ObservableCollection<ChildViewModel> Children
我的 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>
虽然父母的姓名和年龄显示正确,但我没有看到“儿童”组合框已填充。 我感到困惑和沮丧。请帮忙。 :)
【问题讨论】:
标签: wpf datagrid datagridcomboboxcolumn