【发布时间】:2017-12-29 12:18:28
【问题描述】:
这是我的第一个问题,不仅仅是在 stackoverflow 中,而是在整个互联网中。 我有一个从 Sql 服务器数据库自动生成的带有 Entity Framework 6 EF6 模型的 wpf 项目。 我有以下课程:
public partial class SA_EMPLOYEE
{
public int EMPID { get; set; }
public string FIRST_NAME { get; set; }
public string LAST_NAME { get; set; }
}
//then I added a custom property
public partial class SA_EMPLOYEE
{
public string FULL_NAME => $"{FIRST_NAME} {LAST_NAME}";
}
我有一个绑定到myDbContext.SA_EMPLOYEE.ToList() 的列表框,并显示FULL_NAME 属性和一些绑定到所选项目的控件。
当我在列表框中显示FIRST_NAME 时,如果我在文本框中更改它,它会立即更改,而不是FULL_NAME。如果 FIRST_NAME 或 LAST_NAME 中的任何一个已更改,则通知 FULL_NAME 的属性已更改的任何解决方法。
我看到一个类似的问题here。
感谢任何可以提供帮助的人。
【问题讨论】:
-
我不完全明白这一点。我的建议是关注
INotifyPropertyChanged接口。您可以通过自定义 T4 模板来覆盖 EF6 模型的默认行为。避免直接绑定 EF 模型并改用传输模型会更好。也许你应该看看 MVVM 模式。