Hintergrund
Während bei Josh Smith Artikel über CommandGroup
suchen, bemerkte ich, dass eine Reihe von Kommentaren im Internet über gibt es, wie ICommand.CanExecuteChanged
zu implementieren.Wie soll 'ICommand.CanExecuteChanged' implementiert werden?
Eine ähnliche Frage here auf Stackoverflow wurde geschrieben, aber
- Ich fühle mich nicht wie es eine klare Antwort, und
- gibt es nicht genug Platz in einem Kommentar der Lage sein, weitere hinzufügen Kontext.
Zum Vergleich:
- Josh Smith ursprüngliche article über
CommandGroup
verwendet ein einfaches .NET Ereignis - Josh Smith
RelayCommand
ein verwendetCommandManager
implementation vonCanExecuteChanged
- Microsofts eigenen
RoutedCommand
verwendet einCommandManager
implementation vonCanExecuteChanged
- Microsofts eigene PRISM-Bibliothek (Version: 6) uses auch ein einfaches .NET-Ereignis (frühere Versionen verwendeten schwacher Verweis)
Meine Frage
Ich bin relativ neu in WPF, und ich würde gerne wissen, wie Das Ereignis CanExecuteChanged
sollte in Josh Smiths CommandGroup
implementiert werden, um unerwartete Verhaltensweisen oder Speicherlecks zu vermeiden?
Weiterführende Literatur
Josh Smith: Aggregating WPF Commands with CommandGroup
Josh Smith: WPF apps with the MVVM design pattern
StackOverflow: Is Josh Smith's implementation of the RelayCommand flawed?
StackOverflow: comment about CanExecuteChanged
Vielen Dank für Ihr Feedback. Ich höre was du sagst, aber es scheint nicht so geradlinig zu sein. Nehmen wir zum Beispiel den Artikel [Ist Josh Smiths Implementierung des RelayCommand fehlerhaft?] (Https://stackoverflow.com/q/2281566/949681). Dieser Thread enthält Kommentare von einigen sehr erfahrenen Entwicklern, die zu dem Thema hin und her gegangen sind. Gedanken? – Pressacco