IDataErrorInfo in Winforms

8

Können IDataError-Informationen in einer winforms-Anwendung richtig verwendet werden? In der Vergangenheit habe ich meine Bindung auf die übliche Weise (1) gemacht und die Validierung im OnValidating-Ereignis der jeweiligen Kontrolle durchgeführt. Ich möchte die Datenvalidierung in das Domänenmodell verschieben, damit ich die Benutzeroberflächen einfach austauschen kann und die gesamte Logik an einem Ort ist.

Ich habe IDataErrorInfo untersucht, aber alles, was ich finde, beschäftigt sich mit WPF und die App in der Entwicklung ist streng genommen eine Winforms-App.

Ich bemerkte auch, dass die Bindung, die in WPF verwendet wird, in System.Windows.Data ist und die Bindung, die ich immer verwendet habe, ist in System.Windows.Forms (die ich nicht habe, wenn ich es versuche um es als Ressource hinzuzufügen - ich benutze 3,5). Abgesehen von der Eigenschaft "ValidatesOnDataErrors" gibt es einen Unterschied zwischen den beiden?

(1) Der übliche Weg ist:

%Vor%     
Steven Evers 09.09.2009, 20:07
quelle

2 Antworten

9

Dies funktioniert mit der Komponente ErrorProvider in Windows Forms.

Ein vollständiges, aber sehr einfaches und kurzes Tutorial finden Sie unter diesen Blogbeitrag .

    
Reed Copsey 09.09.2009, 20:22
quelle
1

Ja, IDataErrorInfo funktioniert in Winforms. Zum Beispiel wird DataGridView dies automatisch sowohl pro Zeile als auch pro Zelle verwenden. Aber es ist implementierungsspezifisch und wird nicht automatisch auf andere Bindungen angewendet. Ich habe einmal Code geschrieben, um es einem Fehler-Provider zuzuordnen und die Arbeit über Änderungsereignisse zu erledigen, aber ich habe es leider nicht zur Hand. Aber ich erinnere mich, dass es nicht riesig war.

    
Marc Gravell 09.09.2009 20:19
quelle

Tags und Links