|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|||||||||||
Управление окнами MVVM01.02.2024, 16:17. Показов 2965. Ответов 33
Метки нет (Все метки)
У меня есть сервис открытия/закрытия окон, я передаю туда тип VM, не передаю саму VM так как контекст всем окнам уже присвоен через локатор.
Сервис открытия/закрытия окон: Кликните здесь для просмотра всего текста
Локатор: Кликните здесь для просмотра всего текста
Вопрос откуда должны вообще закрываться/открываться окна? Я везде где читал написано было, что нужно из VM окна открывать, а как по мне это удобней из модели это делать. Вот например Проверка авторизации: Мне после того как я проверил логин/пароль успешно(это у меня в модели происходит) нужно сообщить об этом в VM логина или в главную VM и оттуда открыть главное окно(так же закрыть окно логина) или прям в модели это нужно сделать без сообщения c VM?
0
|
|||||||||||
| 01.02.2024, 16:17 | |
|
Ответы с готовыми решениями:
33
MVVM работа с окнами Пример переключения между окнами WPF MVVM Передача данных между окнами в рамках паттерна MVVM |
|
|
||
| 05.02.2024, 17:28 | ||
|
1
|
||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|
| 05.02.2024, 17:43 [ТС] | |
|
Andrey-MSK, Мне тогда надо, еще подписаться на Closing в MainWindow и там тоже Shutdown вызывать, потому-что сейчас при закрытии главного приложение продолжает работать. Больше кода как-будто бы
Добавлено через 11 минут Ну или я что-то не так понял
0
|
|
|
Модератор
|
|||
| 05.02.2024, 18:12 | |||
|
И возможно он даже меняется где-то в настройках Студии. Выберите "по закрытию всех Окон" или "после Основного Окна". Добавлено через 3 минуты Если много, то может есть какое-то скрытое? Установите режим на закрытие приложения после закрытия основного Окна.
1
|
|||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|||
| 06.02.2024, 10:47 [ТС] | |||
0
|
|||
|
Модератор
|
|||
| 06.02.2024, 12:19 | |||
|
Возможно, это признак какого-то бага, который может проявиться ещё и по другому. Нужно выявить и устранить баг, а не маскировать его "аварийным стопом".
2
|
|||
|
|
||||||
| 06.02.2024, 12:24 | ||||||
|
firnen_dragon, У вас случаем в App.xaml.cs этот метод не переопределён?
1
|
||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||||
| 06.02.2024, 17:35 [ТС] | ||||||||
|
Элд Хасп, Давайте опишу поведение при каждом из режимов при условии, что код в App я не меняю, потому что мне кажется у нас произошло недопонимание, при OnExplicitShutdown у меня и не должно выключаться приложение когда я закрыл все окно, только, если я явно не скажу приложению выключиться после того как закроется главное окно. И так:
ShutdownMode="OnExplicitShutdown": - При закрытии окна логина на X: приложение закрывается - При закрытии главного окна(больше не остается никаких окон) на X после авторизации: приложение не закрывается ShutdownMode="OnLastWindowClose": - При закрытии окна логина на X: приложение закрывается - При закрытии главного окна(больше не остается никаких окон) на X после авторизации: приложение закрывается ShutdownMode="OnMainWindowClose": - При закрытии окна логина на X: приложение закрывается - При закрытии главного окна(больше не остается никаких окон) на X после авторизации: приложение закрывается На всякий случай кину весь код из App(кроме как в App я нигде с окнами не работаю): Кликните здесь для просмотра всего текста
Добавлено через 2 часа 37 минут Andrey-MSK, Элд Хасп, Я короче понял о чем вы, но не могу найти причину, уже все перенес в новый проект там оставил только логин и главное окно убрал все лишнее и все равно при закрытии окна логина приложение висит
0
|
||||||||
|
|
||||||
| 06.02.2024, 17:41 | ||||||
|
firnen_dragon, А вы в App.xaml StartUpURI убрали?
1
|
||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||
| 06.02.2024, 17:43 [ТС] | ||||||
|
Andrey-MSK, Ну да, там просто Startup:
0
|
||||||
|
Модератор
|
||||||
| 06.02.2024, 19:45 | ||||||
клик Х окна логина вызывает принудительной аборт приложения.
Добавлено через 2 минуты Лучше всё не относящееся к вопросу удалить.
1
|
||||||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
|||||||
| 07.02.2024, 14:49 [ТС] | |||||||
0
|
|||||||
|
|
|||||||
| 07.02.2024, 14:58 | |||||||
1
|
|||||||
|
1341 / 920 / 265
Регистрация: 08.08.2014
Сообщений: 2,772
|
||
| 07.02.2024, 15:00 | ||
|
И 'System.Windows.Application.Current.Main Window' тоже. Вдруг что-то не совсем закрылось или какой-нибудь ваш самописный оконнный менеджер какие-то окна зажал и не отдаёт.
1
|
||
|
25 / 25 / 4
Регистрация: 21.01.2019
Сообщений: 407
|
||||||
| 07.02.2024, 15:08 [ТС] | ||||||
|
Andrey-MSK, О, сработало, если запихать инициализацию главного окна в PropertyChange, то приложение наконец завершается на X
Чет я не подозревал, что это так работает оказывается Добавлено через 40 секунд Спасибо большое за помощь!
1
|
||||||
| 07.02.2024, 15:08 | |
|
Помогаю со студенческими работами здесь
34
WPF MVVM + EFCore Передача данных между окнами Паттерн MVVM. Обмен данными между окнами с использованием ViewModels
Управление окнами в многооконном приложении Управление окнами Windows, а так же регуляция громкости в системе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|