Frage

In MVVM hat jede Ansicht ein Ansichtsmodell. Eine Ansicht Ich verstehe ein Fenster, Seite oder Usercontrol sein, dem Sie eine Ansichtsmodell, von dem anhängen kann die Ansicht seine Daten bekommt.

Aber ein Datatemplate können auch Daten einer Ansichtsmodell machen.

So verstehe ich eine Datatemplate eine andere „Ansicht“ zu sein, aber es scheint zu sein, Unterschiede , z.B. Fenster, Seiten und Benutzersteuerelemente können ihre eigenen .dlls definieren, ist ein Typ mit DataContect verpflichtet, die andere durch eine Schablone angebracht, so dass Windows-Seiten, können Benutzersteuerelemente können Viewmodel durch einen Servicelocator / Container etc.

Wie sonst sind Datatemplates anders als Windows / Pages / Benutzersteuerelemente, wenn es darum geht, ein Ansichtsmodell die Daten auf der Benutzeroberfläche zu machen? Und gibt es andere Arten von „Ansichten“ andere als diese vier?

War es hilfreich?

Lösung

So wie ich es verwende, ist das Datatemplate tatsächlich die Möglichkeit, die Sicht auf das Ansichtsmodell zu verknüpfen. Typischerweise sehen meine Datatemplates in MVVM wie folgt aus:

<DataTemplate DataType="{x:Type vm:FooViewModel}">
    <v:FooView />
</DataTemplate>

Andere Tipps

Was ist der Sinn für mich macht an dieser Stelle MVVM beim Übergang ist:

Usercontrols: Gruppen Ansichten und Kontrollen zusammen, das einen gesamten Prozess für den Benutzer ausführen soll. Ich verwende ein Benutzersteuerelement für eine ausziehbare Schublade, die ich erstellt, dass ein Benutzer durch verschiedene Klassifizierungen von Teilen kippen kann (wobei jedes Hauptteil Kategorie router den Benutzer durch seinen eigenen Auswahlprozess / Assistenten). Schauen Sie auch auf Charting Steuerelemente.

Ansichten:. Im Grunde ein Gitter, die Gruppe bezogenen Daten und Steuerelemente, die Daten auf der kleinsten Ebene bevölkert gewünscht, so kann es wieder verwendet wird

Datatemplates: Gruppen Fakten über „Elemente“ wie in einem Listenfeld oder Gridview. Ich denke, dies als nur, wie das, was Text repräsentiert ein Objekt Sie Informationen über in einer Liste zu gewinnen versuchen. So eine Steuervorlage würde die Datenvorlage Blöcke wickeln das Anzeigeverhalten dieser Sammlung von Datenvorlage verpackte Artikel zu steuern.

Das ist, wie ich es verstehe, aber die Grenzen sind sehr unscharf. Ich mag das Apress Buch Pro Expression Blend 4 von Andrew Troelson. Er hat wirklich keine Daten schweren Beispiele geben, aber.

Ich würde nicht empfehlen, eine Datatemplate mit dem Blick auf das Viewmodel zu binden. Ich habe zur Zeit Performance-Probleme mit diesem Ansatz als die Ansicht aktualisiert, jedes Mal ist die Ansicht des Fokus erhält. Wie Sie sehen können hier und hier

Unfortunatley Ich habe nicht eine bessere Option als die noch gefunden.

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