В моем приложении WPF я хочу создать новый вид. Где я должен это сделать - во ViewModel или Model ?
Приложение представляет собой (очень простой на данный момент) инструмент в форме окна с одной кнопкой «Отправить». В случае, если выбран один из флажков, должно появиться новое окно с использованием той же модели представления, чтобы запросить у пользователя дополнительные сведения. Для целей этого вопроса давайте рассмотрим только новый подход окна, не рассматривая другие подходы, такие как показанная / скрытая панель.
В идеале в View не должно быть никакого кода. Кроме того, поскольку View не имеет никакой логики, VM изначально должна проверить, нужно ли создавать новое представление, и - когда это необходимо - вернуть эту ответственность обратно на View, что приведет к раздуванию кода.
С другой стороны, создание нового представления в ViewModel нарушает принцип, согласно которому ViewModel не должен ничего знать о View.
Итак, лучше ли создавать новые представления в View или ViewModel?