Entity framework 1:n绑定到DataGridComboxColumn
我想在DataGrid CollectionViewSource中显示1:n关系。基于EntityFramework 迄今为止的工作: 显示基本数据,显示DataGridComboxColumn,可以在DataGridComboxColumn中选择其他条目 不起作用: 使用_context.SaveChanges保存更改_context是DatabaseContext的一个实例。 因此,如果我更改DataGridComboxColumn列中的另一个类型并尝试保护它,我得到: System.InvalidOperationException:属性“Typed”是对象关键信息的一部分,不能更改。将德语翻译成英语 信息:我可以在数据库中直接更改Operation.TypId属性,没有错误 XAML: 我的ViewModel:Entity framework 1:n绑定到DataGridComboxColumn,entity-framework,data-binding,datagridcomboboxcolumn,Entity Framework,Data Binding,Datagridcomboboxcolumn,我想在DataGrid CollectionViewSource中显示1:n关系。基于EntityFramework 迄今为止的工作: 显示基本数据,显示DataGridComboxColumn,可以在DataGridComboxColumn中选择其他条目 不起作用: 使用_context.SaveChanges保存更改_context是DatabaseContext的一个实例。 因此,如果我更改DataGridComboxColumn列中的另一个类型并尝试保护它,我得到: System.Inv
namespace ProdPlanNET.ViewModels
{
class OperationPageViewModel : BaseViewModel
{
public CollectionViewSource cvs = new CollectionViewSource();
private DatabaseContext _context = new DatabaseContext();
public ObservableCollection<Typ> Types
{
get
{
return _context.Types.Local;
}
set { }
}
System.Windows.Data.CollectionViewSource operationViewSource;
public OperationPageViewModel(object viewSource)
{
this.operationViewSource = ((System.Windows.Data.CollectionViewSource)viewSource);
_context.Types.Load();
_context.Workplaces.Load();
_context.Operations.Load();
operationViewSource.Source = _context.Operations.Local;
}
public void SaveCommand()
{
_context.SaveChanges();
}}}
是我自己弄的
<DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource source}}"
SelectedValueBinding="{Binding Typ, Mode=TwoWay}" DisplayMemberPath="Name" />
希望它能帮助别人
<DataGridComboBoxColumn ItemsSource="{Binding Source={StaticResource source}}"
SelectedValueBinding="{Binding Typ, Mode=TwoWay}" DisplayMemberPath="Name" />