Ich habe eine Ansicht mit mehreren Button
s und genauso viele Command
s. Für jeden Command
Ich denke, ich muss ICommand
implementieren. Mein Programm wird eine Zustandsmaschine enthalten, daher ist es möglich, dass die CanExecute der Befehle die Laufzeit ändert. Das einzige Implementierungsbeispiel der CanExecuteChanged
ist this:Richtige Implementierung von CanExecuteChanged
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
Aber here es heißt, dass diese Implementierung eine schlechte Lösung. RaiseCanExecuteChanged()
sollte verwendet werden.
Aber ich kann eine richtige Implementierung der CanExecuteChanged
mit RaiseCanExecuteChanged
nicht finden. Here finde ich ein einfaches Beispiel, aber der Benutzer heißt es
eine sehr einfache Implementierung ist (was wahrscheinlich eine Nullreferenceexception wirft gelegentlich)
Ich ziehe es Code, der in einem nicht Ausnahmen einmal werfen während. Hat jemand ein besseres Beispiel?