C# 如何显示列表<&燃气轮机;数据网格单元格中的项目?
我有一个带有自动生成列的C# 如何显示列表<&燃气轮机;数据网格单元格中的项目?,c#,wpf,entity-framework,datagrid,C#,Wpf,Entity Framework,Datagrid,我有一个带有自动生成列的DataGrid。ItemsSource是对EF上下文进行LINQ到实体查询的结果。其中一列包含实体列表。如何使其显示实体实例的名称 加载数据网格的函数: private void DataGridRecipientsLoad() { List<Recipient> recipients = _recipientService.GetAllRecipients(); dataGridRecipients.Item
DataGrid
。ItemsSource
是对EF上下文进行LINQ到实体查询的结果。其中一列包含实体列表。如何使其显示实体实例的名称
加载数据网格的函数:
private void DataGridRecipientsLoad()
{
List<Recipient> recipients = _recipientService.GetAllRecipients();
dataGridRecipients.ItemsSource = from rec in recipients select rec;
if (recipients.Count() == 0) return;
dataGridRecipients.Columns[7].Visibility = System.Windows.Visibility.Collapsed;
dataGridRecipients.Columns[8].Visibility = System.Windows.Visibility.Collapsed;
}
我想显示每个收件人所属的所有邮件列表。创建一个包含收件人对象的视图模型
为实现INotifyPropertyChanged的收件人对象创建属性
为邮件列表添加另一个属性。同时更改邮件列表的收件人属性notify属性
public Recipient Recipient
{
get { return _Recipient; }
set
{
_Recipient = value;
NotifyPropertyChanged("Recipient");
NotifyPropertyChanged("MailingList");
}
} private Recipient _Recipient
public EntityCollection<MailingList> MailingList
{
get { return _MailingList; }
set
{
_MailingList= value;
NotifyPropertyChanged("MailingList");
}
} private EntityCollection<MailingList> _MailingList
公共收件人
{
获取{return\u Recipient;}
设置
{
_接收者=价值;
通知财产变更(“接收方”);
NotifyPropertyChanged(“邮件列表”);
}
}私人收件人
公共实体收集邮件列表
{
获取{return\u MailingList;}
设置
{
_MailingList=值;
NotifyPropertyChanged(“邮件列表”);
}
}private EntityCollection\u邮件列表
那么在你看来,我假设你有办法选择这个人或收件人,当你选择他们时,收件人会改变。然后应该存在另一个视图来显示邮件列表。然后将DataGrid的ItemsSource绑定到MailingList属性
我假设EntityCollection是IList或IEnumerable,否则,您可能必须将其转换为类似列表或ObservableCollection的内容。如果需要,请创建一个MailingListViewModel,并在必要时创建列表或ObservableCollection
此外,我假设MailingList具有自动生成列可以使用的名称属性,否则您需要生成列而不是自动生成列
public Recipient Recipient
{
get { return _Recipient; }
set
{
_Recipient = value;
NotifyPropertyChanged("Recipient");
NotifyPropertyChanged("MailingList");
}
} private Recipient _Recipient
public EntityCollection<MailingList> MailingList
{
get { return _MailingList; }
set
{
_MailingList= value;
NotifyPropertyChanged("MailingList");
}
} private EntityCollection<MailingList> _MailingList