WPF CanExecute
-
Hallo
Habe in meiner WPF MVVM Anwendung ein Button den ich an ein Command gebunden habe. Das Command besitzt ebenfalls ein CanExecute.
Die Funktion liefert nun ein true wenn ein Counter größer 0 ist. Der Counter wird wiederum über einen anderen Button gestartet. Aber asynchron.
Das heißt ich dücke den Button um den Counter zu starten. CanExecute wird ausgeführt der Counter liefert aber noch 0. Erst einige Zeit später wird der Counter erhöht. Das CanExecute wird dann aber nicht mehr ausgeführt. Erst wenn ich in der Oberfläche eine weitere Aktion ausführe, wird CanExecute ausgeführt und mein Button wird aktiv.
Wie löse ich es nun dass mein Button aber automatisch aktiv wird sobald sich der Counter erhöht.
-
Die Stichwörter "WFP Update Command CanExecute" liefern einige Ergebnisse, z.B. http://stackoverflow.com/questions/1340302/wpf-how-to-force-a-command-to-re-evaluate-canexecute-via-its-commandbindings
Nimm aber die "RaiseCanExecuteChanged"-Variante anstatt der inperformanten "CommandManager.InvalidateRequerySuggested();"
-
Hi,
du kannst zum Beispiel im Setter von Counter ein RaiseCanExecuteChanged auf dem Command aufrufen, dann wird die Gui erneut das CanExecute ausführen.
http://msdn.microsoft.com/en-us/library/ff654368.aspxmfg
KaPtainCugel