2 Stimmen

Anwendungsleiste Schaltfläche Befehl und kann Methode ausführen

Ich habe eine Schaltfläche in der Anwendungsleiste, die ich mithilfe von Prism wie folgt mit einem Befehl verknüpft habe:

<i:Interaction.Behaviors>
    <prismInteractivity:ApplicationBarButtonCommand ButtonText="save" CommandBinding="{Binding SaveCommand}" />
</i:Interaction.Behaviors>

Der Befehl zum Speichern sieht wie folgt aus:

SaveCommand = new RelayCommand( Save, CanSave );

El CanSave Methode wird nur aufgerufen, wenn die Seite geladen wird. Die Schaltfläche wird dann deaktiviert, weil false beim ersten Mal zurückgegeben wird (aufgrund der Validierung).

Wie kann ich erreichen, dass die CanSave-Methode erneut ausgelöst wird, damit sie aktiviert werden kann?

3voto

Josh Close Punkte 21609

Ich habe dies herausgefunden, indem ich mir den Quellcode der TailSpin Prism-Demo-Applikation angesehen habe.

Wenn Sie möchten, dass die Funktion erneut ausgelöst wird, z. B. wenn sich der Text in einem Textfeld geändert hat, rufen Sie sie einfach auf:

SaveCommand.RaiseCanExecuteChanged();

Also, in meinem Fall, wenn die Name gesetzt ist, möchte ich, dass es wieder läuft.

public string Name
{
    get { return name; }
    set
    {
        name = value;
        RaisePropertyChanged( () => Name );
        SaveCommand.RaiseCanExecuteChanged();
    }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X