2016-12-29 68 views
1

语境实施INotifyDataErrorInfo上的对象

我正在开发使用MVVM和Entity Framework(数据库第一)WPF应用程序的一个ObservableCollection。我有一个Airframe对象的ObservableCollection(通过CollectionView查看,以便我可以处理下一个/上一个逻辑)。我有一个文本框,允许编辑当前查看的机身的其中一个机身属性,我目前正在为此设置验证。我正在采用的方法是使用WPF 4.5: Validating Data in Using the INotifyDataErrorInfo Interface中显示的示例实现INotifyDataErrorInfo。

问题

在该文章中的例子,验证通过的个人财产在视图模型中定义这样的setter触发:

private string _username; 
public string Username 
{ 
    get { return _username; } 
    set 
    { 
     _username = value; 
     ValidateUsername(_username); 
    } 
} 

问题

如何我可以在我的特定环境中启用验证吗?当我使用实体框架(数据库优先)时,我无法摆脱生成的机身模型中的setter。我看不到我将如何通过粒度访问来更改Airframe对象的ObservableCollection中的setter。我也不能想到可以触发确认的任何其他地方。

回答

0

可以使用

https://github.com/Fody/PropertyChanged

using PropertyChanged; 

[ImplementPropertyChanged] 
public partial class AirFrame 
{ 
} 

注入INPC支持你的机体产生的模型,然后监听的事件引发INotifyPropertyChanged的和使用,作为一个触发强制验证。