• Как создать новое окно из ViewModel в рамках паттерна MVVM?

    @Donil
    По-хорошему Вам следует создать DialogService, у которого будет метод Show(BaseViewModelType viewModel) и инжектить этот сервис в нужные места. Здесь Вам поможет IoC (DI-контейнер, если конкретнее).

    Есть, конечно и другие способы. События, например. У Вашей ViewModel должно быть событие (Action), на которое подпишется главное окно, например, и будет на него соответственно реагировать.

    Представления для конкретной ViewModel в обоих случаях можно описывать как DataTemplate и биндить отображаемую ViewModel к ContentPresenter, который сам найдет подходящий Template по типу ViewModel
    Ответ написан
    Комментировать