Aktivieren Sie die Schaltfläche zum Speichern während der Validierung mit IDataErrorInfo

8

Wie kann eine Schaltfläche während der Validierung mit IDataErrorInfo deaktiviert / aktiviert werden?

Ich verwende MVVM mit GalaSoft light Framework. In meiner Model-Klasse habe ich IDataErrorInfo implementiert, um die Fehlermeldungen anzuzeigen.

%Vor%

Screenshot: Ссылка

So deaktivieren / aktivieren Sie die Schaltfläche "Speichern". Bitte schlagen Sie vor?

Danke

    
Tarun 30.06.2011, 06:00
quelle

3 Antworten

17

Der Josh Smith Way dies zu tun ist, um die folgenden Methoden im Modell zu erstellen:

%Vor%

Das ViewModel enthält dann eine Eigenschaft CanSave , die die Eigenschaft IsValid im Modell liest:

%Vor%

Wenn Sie RelayCommand verwenden, können Sie schließlich das Prädikat des Befehls auf die Eigenschaft CanSave setzen, und die Ansicht aktiviert oder deaktiviert die Schaltfläche automatisch. Im ViewModel:

%Vor%

Und in der Ansicht:

%Vor%

Und das ist es!

PS: Wenn du Josh Smiths Artikel noch nicht gelesen hast, wird das dein Leben verändern.

    
Pieter Müller 30.06.2011, 07:51
quelle
8

Sie können hinzufügen fügen Sie eine boolesche Eigenschaft CanSave und legen Sie es am Ende Ihrer Valiationsmethode. Binden Sie die IsEnabled von Ihrer Schaltfläche an IsValid. Etwas wie dieses:

%Vor%     
stijn 30.06.2011 07:03
quelle
1

Hier ist meine Art, es mit einer Kombination aus IDataErrorInfo-Schnittstelle, ValidationErrors Dictionary und MVVM-Light-Messaging-System zu tun. Geradeaus und funktioniert wie Charme:

Modellklasse

%Vor%

Code hinter anzeigen

%Vor%     
usefulBee 11.08.2017 20:11
quelle

Tags und Links