【发布时间】:2014-04-10 13:15:53
【问题描述】:
我目前正在开发一个使用 EntityFramework 的应用程序。在这个应用程序中,有一个 DataGrid,SelectedItem 绑定到 ViewModel 上的一个属性:
<DataGrid AutoGenerateColumns="False"
CanUserDeleteRows="True"
IsReadOnly="True"
IsSynchronizedWithCurrentItem="False"
ItemsSource="{Binding ZuvTextCollection}"
SelectedItem="{Binding SelectedEntity,
UpdateSourceTrigger=PropertyChanged,
Mode=TwoWay}">
现在我遇到的问题是,一旦存储数据,与 SelectedItem 的绑定似乎几乎丢失了。
编辑:我忘记了一个非常重要的点!对不起!此错误仅在创建新记录后发生。
protected override void OnSave()
{
if (!this.OnCanSave())
{
return;
}
this.UnitOfWork.SaveChanges();
this.IsDirty = this.UnitOfWork.ChangeTracker.HasChanges;
}
调用 this.UnitOfWork.SaveChanges 后,绑定到 ViewModel 中的 Property 不再存在。 DataGrid 中的行确实可以选择,但是Selection 的变化并没有到达ViewModel。
可能是什么?
PS:我已阅读以下帖子http://www.devexpress.com/Support/Center/Question/Details/Q509665,但我必须承认,这让我不知道如何解决我的问题。 感谢您的帮助!
【问题讨论】:
-
显示
SelectedEntity的代码。在OnSave之前/之后如何设置?同时展示SelectedEntity的实际实现
标签: c# wpf entity-framework mvvm datagrid