En mi aplicación WPF, quiero crear una nueva vista. ¿Dónde debo hacer eso, en ViewModel o Model ?
La aplicación es (muy simple por ahora) una herramienta tipo ventana con un solo botón "enviar". En caso de que se seleccione una de las casillas de verificación, debería aparecer una nueva ventana con el mismo ViewModel para solicitar al usuario algunos detalles adicionales. Para los propósitos de esta pregunta, consideremos solo el nuevo enfoque de ventana sin considerar otros enfoques como el panel mostrado / oculto.
Idealmente, en View no debería haber ningún código. Además, dado que View no tiene ninguna lógica, VM necesitaría inicialmente verificar si se necesita crear una nueva vista y, cuando lo sea, devolver esta responsabilidad a View, lo que lleva a una acumulación de código.
Por otro lado, crear una nueva vista en ViewModel viola el principio de que ViewModel no debería saber nada sobre View.
Entonces, ¿ es mejor crear nuevas vistas en View o ViewModel?