wizard window и main window есть кнопка которая биндится к command_a
В main window эта кнопка активна в wizard window нет...
Wizard Window вызывается из main window в одной из команд.
Вопрос как сделать так чтобы эта команда работала? И её результат отображался в main window.
У меня wizard window это альтернативный вид main window. А-ля wizard а.
Хочу чтобы при нажатии каких то кнопок в wizard е в main window происходили соответствующие изменения. По этому я и решил не делать отдельную vm.
Возможно как то иначе?
Мне нужно чтоб например при открытии кнопки open в wizard window соответственно и в main window все загружалось и так далее.
Тип одна VM для нескольких вью. Или как это провернуть?
Я конечно могу сделать IScreen и сделать все в 1 окне. И при нажатии кнопки Wizard просто делать routing и переключать вид в окне. Но я бы хотел иметь именно 2 окна. Одно основное и второе wizard. И wizard можно в любое время закрыть и продолжить через обычный интерфейс.
На ум приходит только одна идея. Вынести общий функционал у wizard и main window в common view model. Эту common view model сделать static и добавить и в mainVM и в wizardWM. И жить таким образом.
Но. Мне не нравится это. Static... Попахивает глобальными переменными и говно кодом. По больше ничего на ум не приходит.
Есть ещё одна мысль. Реализовать интерфейс IMainVM и при инициализации окна пробрасывать его. А уже от него наследовать mainVM. Но я не уверен что оно будет работать, ведь каждый раз создаётся новый екземпляр. А мне надо что то общее.
Upd ларчик просто открывался В конструкторе wizard window прокилываю текущее окно и вместе с ним main window vm. И уже туда беру ссылку на объект.
Обсуждают сегодня