Umgang mit Ereignissen in MVVM

8

Ich bin neu in MVVM. Ich lerne gerade dieses Muster und möchte es in meinem Projekt verwenden. Ich verstehe bereits das Arbeitsprinzip dieses Musters und habe gelernt, Befehle zu verwenden. Aber ich habe Frage, wie man Ereignisse eines anderen Steuerelements zum Beispiel ListBox SelectionChanged Ereignis behandelt. ListBox hat kein Befehlsattribut

    
Polaris 24.08.2010, 06:46
quelle

3 Antworten

14

Sie müssen es oft nicht. Sie können beispielsweise die Eigenschaft ListBox von SelectedItem an eine Eigenschaft in Ihrem Ansichtsmodell binden:

%Vor%

Damit erhalten Sie nicht nur Zugriff auf den ausgewählten Kunden in Ihrem Ansichtsmodell, sondern Sie können auch Ihr Ansichtsmodell den ausgewählten Kunden diktieren, indem Sie die Eigenschaft selbst festlegen.

Es gibt andere Techniken, um die direkte Behandlung von Ereignissen in Ihrem Code-Behind zu "vermeiden". Zum Beispiel angehängtes Verhalten. Sie sollten jedoch keine Angst davor haben, Ereignisse direkt zu behandeln, wenn sich der Code ausschließlich auf die Ansicht bezieht und Ihren Code vereinfacht.

    
Kent Boogaart 24.08.2010, 06:57
quelle
0

Um das Befehlsattribut zu Ihrem Steuerelement hinzuzufügen, muss es von ICommandSource erben. Überprüfen Sie dies Post, um zu sehen, wie es zustande kommt.

    
Vitalij 24.08.2010 12:08
quelle
0

Die BookLibraray -Anwendung des WPF-Anwendungsframeworks (WAF) zeigt, wie um WPF-Ereignisse in einer von Model-View-ViewModel (MVVM) entworfenen Anwendung anzuhören. Es ermöglicht einem Benutzer, mehrere Bücher auszuwählen, so dass er alle gleichzeitig löschen kann. Siehe Klasse BookLibrary.Presentation.Views.BookView.

    
jbe 29.08.2010 16:16
quelle

Tags und Links