Frage

Können IDataError Informationen richtig in einer WinForms-Anwendung verwendet werden? In der Vergangenheit tat ich meine Bindung die übliche Art und Weise (1) und hat die Validierung in dem OnValidating Ereignisse der besonderen Kontrolle. Ich mag die Datenvalidierung auf das Domänenmodell bewegen, so dass ich einfach Benutzeroberflächen auslagern und kann, so dass die gesamte Logik ist an einem Ort.

Ich war auf der Suche in IDataErrorInfo aber alles, was ich beschäftigt sich mit WPF und die App in Entwicklung finden ist ausschließlich eine WinForms-Anwendung.

Ich habe auch bemerkt, dass die Bindung, die in WPF in System.Windows.Data ist und die Bindung gewöhnt, dass ich immer bin verwendet, ist in System.Windows.Forms (was ich nicht angezeigt zu haben, wenn ich versuche, es als eine Ressource hinzufügen - I 3.5) .Aside der Eigenschaft „ValidatesOnDataErrors“ gibt es einen Unterschied zwischen den beiden bin mit

(1) die übliche Art und Weise Wesen:

myControl.DataBindings.Add(new Binding("Text", this.domainModel, "Property"));
War es hilfreich?

Lösung

Dies funktioniert mit dem Errorprovider Komponente in Windows Forms.

Für eine komplette, aber sehr einfach und kurze Anleitung finden Sie unter dieses Blog-Post .

Andere Tipps

Ja, arbeitet IDataErrorInfo in WinForms. Zum Beispiel wird DataGridView dies sowohl automatisch verwendet pro Zeile und pro-Zelle. Aber es ist implementierungsspezifisch und ist nicht automatisch auf andere Bindungen angewendet. Ich schrieb einmal einen Code, es zu einem Fehler-Anbietern zu verbinden und die Arbeit über Änderungsereignisse zu tun, aber ich habe es nicht leider zur Hand. Aber ich scheine es zu erinnern, war nicht sehr groß.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top