2016-12-29 3 views
1

KontextAusführungs INotifyDataErrorInfo auf einer ObservableCollection von Objekten

ich eine WPF-Anwendung zu entwickeln mit MVVM und Entity Framework (Datenbank zuerst). Ich habe eine ObservableCollection von Airframe-Objekten (die über eine CollectionView angezeigt werden, sodass ich mit der nächsten/vorherigen Logik umgehen kann). Ich habe ein Textfeld, in dem eine der Airframe-Eigenschaften für den aktuell betrachteten Airframe bearbeitet werden kann, und ich richte gerade die Validierung dafür ein. Der Ansatz, den ich nehme, besteht darin, INotifyDataErrorInfo mit dem in WPF 4.5: Validating Data in Using the INotifyDataErrorInfo Interface gezeigten Beispiel zu implementieren.

Ausgabe

Im Beispiel in diesem Artikel, die Validierung erfolgt über die Setter einer einzelnen Eigenschaft gefeuert definiert im Ansichtsmodell wie folgt aus:

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

Frage

Wie kann ich die Validierung in meinem speziellen Kontext auslösen? Da ich Entity Framework (Datenbank zuerst) verwende, kann ich nicht mit Setter im generierten Airframe-Modell herumspielen. Ich kann nicht sehen, wie ich granularen Zugriff auf einen Setter innerhalb der ObservableCollection von Airframe-Objekten erhalten würde. Ich kann mir auch keinen anderen Ort vorstellen, an dem die Validierung ausgelöst werden könnte.

Antwort

0

Sie können INPC Unterstützung für Ihre erzeugte Zelle Modell injizieren

https://github.com/Fody/PropertyChanged

using PropertyChanged; 

[ImplementPropertyChanged] 
public partial class AirFrame 
{ 
} 

verwenden und dann hört für das Ereignis INotifyPropertyChanged angehoben und verwenden, die als Auslöser Validierung zu erzwingen.

Verwandte Themen