|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
|||||||||||
MVVM работа с несколькими окнами23.08.2024, 14:26. Показов 1129. Ответов 15
Здравствуйте, подскажите.
Как настроить работу с 2 окнами в WPF MVVM. Суть: есть главное окно и его MainViewModel по нажатию на кнопку отправить, срабатывает команда, которая запускает второе окно с его SecondViewModel и там пользователю надо выбрать нужный пункт и нажать кнопку "Выбрать". Второе окно нужно чтобы пользователь выбрал 1 из нескольких вариантов, из этого выбора будет получен id. Нужно чтобы пока пользователь не выбрал 1 из вариантов и не нажал кнопку во втором окне первое было заблокировано и ждало (чтоб вычисления дальше не шли). В SecondViewModel есть свойство
Окна у меня это UserControl.
0
|
|||||||||||
| 23.08.2024, 14:26 | |
|
Ответы с готовыми решениями:
15
MVVM работа с окнами Управление окнами MVVM Программа с несколькими окнами |
|
|
|
| 23.08.2024, 15:03 | |
|
IIIIIIIIIgor, Пробуйте - Создание диалоговых окон, согласно паттерну MVVM
1
|
|
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
||||||
| 23.08.2024, 15:11 [ТС] | ||||||
|
Спасибо, помогло открывать окно как диалог
0
|
||||||
|
|
|||
| 23.08.2024, 15:15 | |||
|
IIIIIIIIIgor, Я вам показал
Где у вас вот это находится?
0
|
|||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
|
| 23.08.2024, 15:37 [ТС] | |
|
0
|
|
|
|
|
| 23.08.2024, 15:50 | |
|
0
|
|
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
||
| 23.08.2024, 15:52 [ТС] | ||
|
0
|
||
|
|
||
| 23.08.2024, 16:08 | ||
|
1
|
||
|
Модератор
|
|||
| 23.08.2024, 18:59 | |||
|
View зависима от ViewModel. В основном через привязку к свойствам, но могут быть и другие зависимости: прослушка событий, внедрение делегатов обратного вызова, инжекция зависимостей и др. Когда VM меняет своё состояние, то либо View замечает это изменение и открывает сколько нужно окон, либо VM активирует какую-то внедрённую зависимость, например, вызывает делегат метода открывающего окно. Добавлено через 3 минуты
0
|
|||
|
|
|
| 23.08.2024, 19:22 | |
|
Andrey-MSK, думаю, для тех кто "не в теме", применять подход с DI будет выглядеть слишком сложным для понимания. Повторить смогут, а вот поменять что-либо уже нет...
Для начала, можно просто передавать в VM некий сервис по вызову нужных окон через интерфейс. А в реализации этого интерфейса уже сам вызов окна.
2
|
|
|
Модератор
|
|||||||||||||
| 24.08.2024, 00:42 | |||||||||||||
|
Добавлено через 4 минуты IIIIIIIIIgor, самое простое: В VM свойство и метод:
Почему не сделать SecondView окном? Если SecondView работает только с SecondViewModel, то почему не создавать его в XAML SecondView? Создаёте сами себе сложности на пустом месте.
0
|
|||||||||||||
|
Модератор
|
|
| 24.08.2024, 11:40 | |
|
IIIIIIIIIgor, интересно посмотреть код SecondView и SecondViewModel.
Очень сильные сомнения, что там что-то не так. Будет хорошо, если целиком Решение загрузите на GitHub и дадите ссылку. Если нет опыта работы с GitHub, то лучше сделать это через меню Git Студии. Как это сделать - посмотрите здесь: Использование GitHub в Студии
0
|
|
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
||
| 26.08.2024, 16:05 [ТС] | ||
|
в данный момент нет возможности куда-либо выложить код. если посоветуете какие-то книги/статьи/видео чтобы нормально разобраться во всем этом буду признателен
0
|
||
|
|
|
| 26.08.2024, 16:17 | |
|
wizard41, Ну по ссылке можно почитать и далее. Элд Хасп там предлагает вариант попроще
![]() Добавлено через 3 минуты wizard41, Ну и у меня в принципе не очень сложно. Просто нужно понять механизм DI, книг и статей по этой теме предостаточно. Тем более на готовом примере разобраться будет гораздо проще. Я эту информацию по кускам из разных статей и помощи товарищей набрал и собрал в одно целое. Теперь работает и просто таскаю из проекта в проект, ну и по мелочи что-то переделываю, по мере роста знаний
1
|
|
|
Модератор
|
|||||||
| 26.08.2024, 17:40 | |||||||
|
В самом простом случае:
0
|
|||||||
|
3 / 3 / 0
Регистрация: 23.12.2016
Сообщений: 254
|
|||||||||||||||||
| 23.09.2024, 15:46 [ТС] | |||||||||||||||||
такое
0
|
|||||||||||||||||
| 23.09.2024, 15:46 | |
|
Помогаю со студенческими работами здесь
16
Пример переключения между окнами WPF MVVM Передача данных между окнами в рамках паттерна MVVM WPF MVVM + EFCore Передача данных между окнами Паттерн MVVM. Обмен данными между окнами с использованием ViewModels Работа с несколькими окнами одновременно Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|