2 Stimmen

Wo und wie sollten ausgewählte Elemente in einer MVVM-Architektur verwaltet werden?

Ich habe eine Ansicht, die es dem Benutzer ermöglicht, einige Daten auszuwählen, z. B. einige Daten, und einen Befehl ausführt, der diese Daten benötigt.

So in meinem Befehl sollte ich einen Verweis auf das ausgewählte Datum haben, aber was ist die beste Praxis, um dieses Datum auf der ViewModel-Seite, wo der Befehl lebt gehen zu machen:

  • eine SelectedDate-Abhängigkeitseigenschaft im ViewModel hinzuzufügen und meine Ansicht daran zu binden, und sie in meinem Befehl über "@this.SelectedDate" zu referenzieren (wobei @this ein Verweis auf das aktuelle ViewModel ist),
  • damit die Ansicht sie über den "Parameter" der "Execute"-Methode des Befehls übermittelt und das Datum mit "DateTime selectedDate = (DateTime)parameter;" referenziert,
  • irgendeine andere Lösung...

Vielen Dank im Voraus.

3voto

Robert Rossney Punkte 91100

Ich würde SelectedDate eine Abhängigkeitseigenschaft des Ansichtsmodells, absolut.

Ich würde auch dafür sorgen, dass der Befehl die SelectedDate aus dem View Model. Es gibt keinen Grund für die Ansicht, etwas darüber zu wissen.

1voto

Henk Holterman Punkte 249753

Zum ersten Teil: Ja, ich denke, das SelectedDate sollte eine (INotify)-Eigenschaft Ihres ViewModels sein.

Ich habe keine eindeutige Meinung dazu, wo Ihr Kommando diese Informationen erhalten sollte, ich denke, die Immobilie ist in Ordnung.

1voto

jbe Punkte 6868

En BuchBibliothek Anwendungsbeispiel des WPF-Anwendungsrahmen (WAF) zeigt eine Möglichkeit, das ausgewählte Element mit MVVM zu behandeln: Das ViewModel hat eine Eigenschaft "SelectedBook", die an die View gebunden ist.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X