2010-12-09 15 views
5

alt textPass Informationen von einem View-Modell zu einem anderen

Ich bin mit den M-V-VM Architekturmustern.

Ich möchte, dass mein Programm zwei Ansichten hat, Ansicht A und Ansicht B. Ich starte das Programm mit View A. Ansicht B wird vom Programm angezeigt, wenn ich auf ein Element doppelklicke Ansicht A.

Wie sollte ich mein Programm so strukturieren, dass ich dies erreichen kann?

Antwort

2

Haben Sie ein Ansichtsmodell wie:

  • ParentViewModel
    • ChildViewModel1
      • IsVisible
      • ein Befehl, der ChildViewModel der IsVisible Eigenschaft schaltet
    • ChildViewModel2
      • IsVisible

und anzeigen wie:

  • ParentView
    • ViewPart1
      • Sichtbarkeit gebunden ChildViewModel1.IsVisible (Verwendung BooleanToVisibilityConverter)
      • A Taste Befehl gebunden, die Sichtbarkeit
    • ViewPart2
      • Sichtbarkeit gebunden ChildViewModel1.IsVisible (Verwendung BooleanToVisibilityConverter)

Dies sollte Ihr Problem lösen schaltet.

+0

Werden Objekte, die nicht sichtbar sind, noch im Speicher gehalten? –

+0

Ja. Wie du gesagt hast, sind sie einfach nicht sichtbar. – decyclone

+0

Eine andere Frage, was ist die Rolle von ChildViewModel2? –

1

Sie könnten in der Booklibrary Beispielanwendung des WPF Application Framework (WAF) interessiert. Es zeigt eine Master-/Detailansicht mit zwei separaten Views und zwei separaten ViewModels. Darüber hinaus verfügt es über einen modalen Dialog einschließlich eines eigenen ViewModel für den Vorgang "Verleih an", der mit dem ausgewählten Buch verbunden ist.

Verwandte Themen