|
-12 / 24 / 4
Регистрация: 22.06.2020
Сообщений: 376
|
||||||
Как далее поднять MainWindow?26.01.2025, 13:32. Показов 3900. Ответов 47
Метки нет (Все метки)
Привет всем,
Как получить и сообщение и после того как его квитируешь получить и MainWindow?
0
|
||||||
| 26.01.2025, 13:32 | |
|
Ответы с готовыми решениями:
47
Связать переменные из mainwindow.h и mainwindow.cpp
|
|
|
||
| 26.01.2025, 21:35 | ||
![]() Нарочно не заключаю в тег [OFF], т.к. кажется что все же это "по теме", хоть и в чужой теме. Иными словами - почему не может такой идеи существовать? Ну мы же делаем, не знаю, множество окон, вызываемых из "главного", причем все они со своими VM-мами, моделями, то да се... В случае многооконного приложения. А здесь, перед вызовом "основного" окна - главным пусть пока будет окно авторизации. Если пользователь его прошел - главное окно станет теперь другое (всего лишь пара строчек в коде). Первое закрылось, второе показалось. Ну, т.е. я как бы не вижу в этом проблемы. Тут всего лишь вызов и подмена того или иного окна, причем в самом начале практически (в App). Или, может, вы знаете о каких-то подводных камнях такого подхода?
0
|
||
|
|
|
| 26.01.2025, 21:43 | |
|
Вроде бы, чего такого в открытии нового окна?
А если у юзера многомониторная конфигурация?.. Он окно перетащил на 3 монитор, ввёл данные, а новое окно открылось снова на первом, да ещё под сотней других окон.
0
|
|
|
|
||
| 26.01.2025, 22:02 | ||
|
Rius, я просто логически, для понимания так сказать. Если это какой-то "паттерн" и этого требует, то понятно. Но скорее всего это должно чем-то объясняться тогда..
Добавлено через 4 минуты Добавлено через 13 минут С мониторами как-бы не очень убедительно, тем более, что в моем случае первое окно не перетаскиваемое, а второе появится там же, где было первое.
0
|
||
|
|
|
| 26.01.2025, 22:35 | |
|
wizard41,
Я про общий подход, а не только текущий пример. В App может выполняться куча кода, скрытого под каким-нибудь InitialContainer где кто-то неосторожно закеширует главное окно (например через замыкание) и дальше ловиш неприятные баги. Элементарное window = Application.Current.MainWindow в каком-нибудь callback, и выловишь не сразу.Ещё может появится желание приравнять Close главного окна к завершению приложения. Это как бы ошибка в самом подходе, но вылавливается такое тоже плохо. Ну и в целом удобно что у тебя MainWindow -- синглтон. Обращаясь к нему всегда знаешь к чему кастануть, что он умеет и т.д. А с кучей окон это нужно накидывать интерфейсы и следить чтобы все их наследовали... не знаю, выглядит менее надёжно и удобно. Ну и можно позволить себе не париться с тем что это окно нужно постоянно откуда-то получать, а один раз вытянул и запомнил. На всякий, я там писал "если заказчик требует говнокодить". То что будет использоваться многооконная архитектура -- не говнокод. Это просто менее надежный и удобный вариант (на мой взгляд). И чем проще приложение, тем менее критично будет то, что кто-то заменяет MainWindow в процессе. Скорее всего это можно будет ощутить только на каком-то реально крупном проекте с кучей народа и задач.
0
|
|
|
|
||||||
| 26.01.2025, 23:12 | ||||||
|
Wolfdp, так то оно так... Но, похоже здесь описываются события, которые должны происходить уже после появления "настоящего" главного окна.
Я же про случай, когда его еще нет в природе, т.о. никому не на что ссылаться. Наверное, сумбур вызвало нечеткое определение главного окна. На самом деле, первое окно совсем не обязательно должно быть MainWindow. А обычный диалог. Студии под рукой нет, попробую импровизировать пример прямо тут (могут быть неточности):
Формально, пользователь может просто закрыть этот диалог (если он устал подбирать пароль) и все на этом и закончится не начавшись... )
0
|
||||||
|
|
||||||||||||||||||||||||||
| 28.01.2025, 14:13 | ||||||||||||||||||||||||||
|
Кхм.. в продолжение темы:
собственно, вот "простецкий" пример затеи с двумя окнами > второе запускается из первого, причем они не взаимосвязаны. Без сервисов и без всего такого. Предположим, первичное окно для входа такое: XAML
главное окно: XAML
VM окна логина:
1
|
||||||||||||||||||||||||||
| 28.01.2025, 14:13 | |
|
Как закрыть окно MainWindow? Как убрать рамки в MainWindow Как в WPF в MainWindow отключить ALT + F4?
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|