Как иметь несколько пар «View-ViewModel»?

Я создаю приложение, основанное на MVVM-Light. Мне нужно создать несколько экземпляров одного и того же View, и каждый из них должен быть привязан к своему ViewModel.

По умолчаниюViewModelLocator реализует ViewModel как синглтоны, поэтому разные экземпляры одного и того же View будут привязываться к одному и тому же ViewModel.

Я мог бы создать ViewModel в VMLocator как нестатический объект (так же просто, как вернуть новую VM () ...), но это только частично помогло бы мне. На самом деле, мне все еще нужно следить за открытыми окнами. Тем не менее, каждое окно может открывать несколько других окон (хотя и другого типа). В этой ситуации мне может потребоваться выполнить некоторую операцию с родительским представлением и всеми его дочерними элементами. Например, перед закрытием View P, я могу захотеть закрыть все его дочерние элементы (представление C1, представление C2 и т. Д.).

Следовательно, есть ли простой и легкий способ достичь этого? Или есть ли лучшая практика, которой вы бы посоветовали мне следовать?

Заранее спасибо за вашу драгоценную помощь.

Ура,
Джанлука.

Ответы на вопрос(3)

Ваш ответ на вопрос