In meiner WPF-Anwendung möchte ich eine neue Ansicht erstellen. Wo soll ich das tun - in ViewModel oder Model ?
Die Anwendung ist ein (vorerst sehr einfaches) formularähnliches Tool mit einem Fenster und einer einzigen Schaltfläche "Senden". Wenn eines der Kontrollkästchen aktiviert ist, sollte ein neues Fenster mit demselben ViewModel angezeigt werden, in dem der Benutzer nach zusätzlichen Details gefragt wird. Betrachten wir für die Zwecke dieser Frage nur den neuen Fensteransatz, ohne andere Ansätze wie das gezeigte / ausgeblendete Panel zu berücksichtigen.
Im Idealfall sollte in View kein Code vorhanden sein. Da View keine Logik enthält, müsste VM zunächst prüfen, ob eine neue Ansicht erstellt werden muss, und - wenn dies der Fall ist - diese Verantwortung wieder an View übertragen, was zu einem Aufblähen des Codes führt.
Andererseits verstößt das Erstellen einer neuen Ansicht in ViewModel gegen das Prinzip, dass ViewModel nichts über View wissen sollte.
Ist es also besser, neue Ansichten in View oder ViewModel zu erstellen?