In meiner WPF-Anwendung mit MVVM habe ich festgestellt, dass in einigen Fällen der CanExecute-Teil eines Befehls nicht aufgerufen wird, also habe ich mich gefragt, was entscheidet, wenn diese (Art von) Methode aufgerufen wird?CanExecute Teil eines Befehls wird nicht in allen Fällen aufgerufen. Was bestimmt es?
0
A
Antwort
1
CanExecute
durch eine Steuer aufgerufen wird, wenn es durch eine Erhöhung der CanExecuteChanged
event erzählt wird, wie genau Kontrollen Commands
handhaben ist zu ihnen (sie zum Beispiel könnte es auch wieder aufrufen, wenn die CommandParameter
Änderungen), aber wenn Sie möchten, neu zu bewerten CanExecute
sollten Sie das Ereignis manuell auslösen.
Danke für die Antwort ... Ich habe das Gefühl, dass meine MVVM-Anwendung komplizierter wird als zuvor, ich habe MVVM verwendet, aber ich kann nicht wirklich eine einfache Frage formulieren, wie das zu beheben ist. –
@MichelKeijzers: MVVM hat einige Overhead, aber es zahlt sich aus. Auch einige MVVM-Frameworks behandeln bestimmte Bereiche besser als andere. –
Ja, ich weiß ... bis jetzt denke ich, dass es mehr Vorteile als Nachteile hat, obwohl meine Anwendung nicht vollständig für MVVM geeignet ist (weil es viele speicherplatzierte Daten anstelle von separaten Variablen hat, auf die man reagieren kann). –