wpf - WPF DataGridTextColumn 绑定关系表数据(WPF/EF/PRISM)
问题描述
我有一个代码,但绑定关联表数据不起作用。
有两个表,一个产品表和一个供应商表。
产品 XAML
<DataGrid ItemsSource="{Binding ListCollection}" ...>
<DataGrid.Columns>
<DataGridTextColumn Header="ID" Binding="{Binding ProductId}"></DataGridTextColumn>
<DataGridTextColumn Header="ProductName" Binding="{Binding ProductName}"></DataGridTextColumn>
<DataGridTextColumn Header="Supplier" Binding="{Binding Supplier.SupplierName}"></DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
产品视图模型
class Products{
public ProductsViewModel()
{
using (EFDBEntities efdb = new EFDBEntities())
{
ListCollection = new ObservableCollection<Products>(efdb.Products);
}
}
private ObservableCollection<Products> _listCollection = new ObservableCollection<Products>();
public ObservableCollection<Products> ListCollection
{
get => _listCollection;
set => SetProperty(ref _listCollection, value);
}
}
实体框架(产品)
public partial class Products
{
public int ProductId { get; set; }
public string ProductName { get; set; }
public virtual Supplier Supplier { get; set; }
}
但供应商没有数据
解决方案
不要使用
using (EFDBEntities efdb = new EFDBEntities())
{
ListCollection = new ObservableCollection<Products>(efdb.Products);
}
改成
private EFDBEntities efdb;
public ProductsViewModel()
{
efdb = new EFDBEntities();
ListCollection = new ObservableCollection<Products>(efdb.Products);
}
解决问题
推荐阅读
- phpmyadmin - 尝试使用 XAMPP 连接到 SID 时出现 localhost 错误
- r - R 编码,我正在尝试将数据框中的变量从 1 到 13 正确排序,但它类似于 201501、2015010、011,012,013、02...09
- angular-service-worker - 如何查询 PWA 离线状态以通知用户
- android - Android Studio“app”模块目录在打开时不断出现折叠
- java - MS Edge/Selenium 选项
- excel - 如果另一列包含特定文本,则查找列的最后一个条目
- arrays - 如何获取数组中的前 15 个出现并使用每个值从 mysql 数据库中获取数据?
- c# - 有没有办法在c#中的进程ID和名称之上找到一个进程
- database - SonarQube 不启动
- python - 使用 Pyspark 基于 group by 创建新列