【发布时间】:2011-02-17 13:30:36
【问题描述】:
我在模型中有两张表,一张表包含与另一张表以一对多关系相关的条目,例如:
Table User
ID
Name
Table Comments
ID
UserID
Title
Text
我想在 WPF 窗口中显示一个数据网格,其中包含两列,一列带有用户名的文本列,另一列带有显示用户创建的所有 cmets 的组合框。
datagrid的定义是这样的:
<DataGrid AutoGenerateColumns="False" [layout options...] Name="dataGrid1" ItemsSource="{Binding}">
<DataGrid.Columns>
<DataGridTextColumn Header="Name" Binding="{Binding Path=Name}"/>
<DataGridComboBoxColumn Header="Comments"
SelectedValueBinding="{Binding Path=UserID}"
SelectedValuePath="ID"
DisplayMemberPath="Title"
ItemsSource="{Binding Path=Comments}"
/>
</DataGrid.Columns>
</DataGrid>
在代码中,我这样分配 DataContext:
dataGrid1.DataContext = entities.Users;
实体 User 有一个名为 Comments 的属性,该属性指向用户创建的所有 cmets。查询正在返回数据并显示用户名,但未填充组合框。
可能是方法完全错误,或者我只是在这里遗漏了一个非常简单的点,我愿意学习更好的方法来做到这一点。
谢谢
【问题讨论】:
标签: c# wpf entity-framework binding wpfdatagrid