Frage

Ich arbeite mit einer Baumstruktur mit WPF und das MVVM-Muster. I beginnen, indem 20 zu schaffen Wurzelknoten und verzögertes Laden der untergeordneten Knoten als jeder Knoten angeklickt wird. So zum Beispiel ... wenn ich die folgenden:

Level 1
    Level 1.1
Level 2
Level 3
    Level 3.1
    Level 3.2

Stufen 1, 2 und 3 werden zur Laufzeit geladen. Stufen 1.1, 3.1 und 3.2 nicht geladen werden, bis ihre jeweiligen Eltern angeklickt werden. Werte unter 1.1 usw. werden auf die gleiche Art und Weise geladen, indem Sie auf ihre Eltern klicken.

Mein Problem ist, wenn ich auf Stufe 1.1 klicken Sie auf die Kinder zu laden, die „CanExecute“ Methode wird für Stufe geprüft 1.1 und alle Root-Ebene Elemente für jedes Kind von Stufe 1.1. Dies bewirkt, dass ziemlich viel verschwendeter Zeit, wenn es zahlreiche Kinder.

Meine Frage ist, kann ich unterdrücken irgendwie um den Anruf zu „CanExecute“? Ich habe keine Notwendigkeit, sich als diese Unterebene zu nennen, und ich würde zu umgehen mag es. Ich bin sehr neu auf dem MVVM Rahmen so bin ich nicht sicher, ob dies überhaupt möglich ist.

War es hilfreich?

Lösung

Wenn Sie Prism (Composite Application Guidance für WPF und Silverlight) verwenden ‚DelegateCommand‘ Ihrer Ansicht nach Modell, werden Sie explizit müssen command.RaiseCanExecuteChanged rufen, wann immer Sie wollen CanExecute auf sie aufgerufen werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top