2016-12-29 62 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的和使用,作爲一個觸發強制驗證。