AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

MVVM - ViewModel 1:n Beziehung

Ein Thema von Neutral General · begonnen am 23. Nov 2016 · letzter Beitrag vom 23. Nov 2016
Antwort Antwort
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

AW: MVVM - ViewModel 1:n Beziehung

  Alt 23. Nov 2016, 16:38
DocumentViewModel ist das ViewModel für die Dokumente
DocumentElementViewModel ist das ViewModel für die Elemente in einem dieser Dokumente.

Die View des DocumentViewModels zeigt die im ViewModel enthaltenen Dokumente in einem PageControl an - Für jedes Dokument 1 Tabsheet.
An der markierten Stelle wird dann als Inhalt des Tabsheets ein DocumentElementViewModel erstellt, dass dann zusammen mit der DocumentElementView für die Verwaltung und Darstellung des Dokuments selbst verantwortlich ist.

Das Problem ist dass ich an irgendeiner Stelle meinem DocumentElementViewModel den Inhalt WELCHEN Dokuments es laden/darstellen soll mitteilen muss.
Und ich weiß nicht genau wo/wie. Ich KÖNNTE (rein theoretisch, aber keine Ahnung ob das so im Sinne von MVVM ist) dem in der XAML markierten Stelle erstellten DocumentElementViewModel eine "DocumentFilename"-Property verpassen und dann per Binding den FileName des DocumentModels an das DocumentElementViewModel binden und im PropertyChanged des DocumentFilename auf das Ändern des Dateinamen reagieren und alles benötigte laden.

Aber ist das im Sinne des Erfinders? Wie würde man sowas machen?

Edit: Die Implementierung von DocumentElementViewModel ist eigentlich nicht relevant. Diese Klasse ist momentan eigentlich noch mehr oder weniger leer.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."

Geändert von Neutral General (23. Nov 2016 um 16:45 Uhr)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#2

AW: MVVM - ViewModel 1:n Beziehung

  Alt 23. Nov 2016, 16:49
Habe ich das so richtig verstanden?
View > (n) Documents > (n) DocumentsElements?

Deine View soll mehrere Dokumente in einem PageControl anzeigen?
Jedes Dokument hat mehrere DocumentElements? Wie sollen die angezeigt werden?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: MVVM - ViewModel 1:n Beziehung

  Alt 23. Nov 2016, 16:52
Genau. Die Elemente werden letztendlich auf einem Canvas (bzw. ItemsControl mit Canvas als Panel) angezeigt, aber das ist wie gesagt nicht wirklich wichtig.
Das Problem besteht zu 99% darin dass ich nicht weiß wie ich am besten/saubersten den DocumentsElements mitteile welche Elemente es (woher) laden soll.
Wie diese Elemente jetzt letztendlich geladen oder dargestellt werden ist erstmal unwichtig.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#4

AW: MVVM - ViewModel 1:n Beziehung

  Alt 23. Nov 2016, 17:04
Ich glaube das ist aber kein Problem von MVVM...
Baue dir doch erst mal eine kleine Konsolenanwendung um die POCO-Klassen zu erstellen. Dann wirst du sehen welche Klasse für welche Aufgabe zuständig ist.
Denn das Laden der Daten hat nichts mit MVVM zutun, das müssen die POCO-Klassen (auch Models genannt) machen.

Denn das Laden von Daten gehört nicht in die Oberfläche, sondern in die Logik.

Ich vermute mal, dass ein Document für das Laden und erzeugen der DocumentElements zuständig ist. Passt das?

Wenn du die Logik abgebildet hast, dann kannst du die Oberfläche designen. Und da musst du dann wahrscheinlich relativ viel mappen...
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:02 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz