powered by simpleCommunicator - 2.0.35     © 2025 Programmizd 02
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Показ диалога без создания Window
3 сообщений из 3, страница 1 из 1
Показ диалога без создания Window
    #39954304
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с одной задачкой и интересно найти решение.

В CB App вызывается метод предварительных расчётов
Код: c#
1.
2.
3.
4.
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            Calculate.CalculateOn();
        }


В нём может быть показано диалоговое окно с сообщением.
Можно, для примера, показ любое окно
Код: c#
1.
2.
3.
4.
5.
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            ///Calculate.CalculateOn();
            new MessWin().ShowDialog();
        }



Показ основного окна установлен в App.xaml
Код: xml
1.
2.
3.
    StartupUri="MainWindow.xaml"
    Startup="Application_Startup"
    ShutdownMode="OnLastWindowClose">



И получается такой казус.
Если будет показ сообщения, то запускается триггер в App - "Окно показано".
После закрытия сообщения окно закрывается, но MainWindow ещё не запущено.
Срабатывает триггер - "Все окна закрыты". И поэтому триггеру приложение завершается.

Если использовать дефолтный MessageBox, то такого не происходит.
Он, создаёт (насколько я понял) Форму, а не окно.

Можно также обойти это создавая и запуская основное окно в CB App:
Код: c#
1.
2.
3.
4.
5.
6.
        private void Application_Startup(object sender, StartupEventArgs e)
        {
            MainWindow window = new MainWindow();
            new MessWin().ShowDialog();
            window.Show();
        }



Но вот стало интересно, можно ли как-то вывести сообщение (в диалоговом окне или иным образом) не создавая окно в этом App? Чтобы у него не включался триггер "Окно создано"?
...
Рейтинг: 0 / 0
Показ диалога без создания Window
    #39954482
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можешь использовать Overlay-модальное окно поверх твоего основного контента- все будет находиться в 1 окне.
...
Рейтинг: 0 / 0
Показ диалога без создания Window
    #39954505
Eld Hasp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vb_sub
Можешь использовать Overlay-модальное окно поверх твоего основного контента- все будет находиться в 1 окне.

Там проблема в другом.
Сообщение выводится ещё ДО создания основного окна.
Поэтому срабатывает в App триггер "OnMainWindowClose" или "OnLastWindowClose".

Приходится либо создавать основное окно в CB App, либо использовать триггер "OnExplicitShutdown" и явно прописывать в событии закрытия окна выход из приложения.

Оба подхода работают, но неудобны.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / WPF, Silverlight [игнор отключен] [закрыт для гостей] / Показ диалога без создания Window
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]