Откройте окно настроек WPF из приложения «Формы» [дубликат]

Possible Duplicate:
Notification when WPF UI closes

Я задал очень похожий вопрос раньше, но я не получил никакого полезного ответа. Я надеюсь, что кто-то может мне помочь.

У меня есть существующее приложение в трее, запрограммированное как приложение Windows Form. У меня есть существующая форма настроек, запрограммированная как WPF.

Приложение Tray должно иметь возможность: * Откройте приложение «Настройки» n раз, одновременно открываясь только один экземпляр * Получать уведомления, когда пользователь закрывает приложение настроек.

Приложение «Настройки» использует ResourceDictionary, что, по моему мнению, означает, что оно должно запускаться из App.xaml.

Я могу заставить окно настроек открыться один раз и уведомить лоток, когда он закрывается, используя следующий код, но я не могу заставить его открыться снова.

        if (gui == null)
        {
            //shell = new mainWindow();
            //shell.CloseEvent += settings_FormClosed;

            gui = new App();
            //gui.ShutdownMode = ShutdownMode.OnExplicitShutdown;
            gui.MainWindow = shell;
            gui.InitializeComponent();
            //gui.Run();
            gui.Exit += new System.Windows.ExitEventHandler(settings_FormClosed);

            IsUIOpen = true;
        }

Если я раскомментирую строки выше, я могу перехватить событие close и установить Visibility в Hidden. В следующий раз, когда пользователь выберет «Настройки», я смогу вернуть его в «Видимый». Однако при первом открытии настроек оно не будет вызывать событие Exit, а оболочка не получает весь ReferenceDictionary (или теряет к нему доступ), поэтому окно не отображается должным образом.

Есть ли способ запустить WPF из приложения и получить доступ к MainWindow (который часто кажется нулевым и не относится к типу моего собственного окна), чтобы пользовательский слушатель мог быть добавлен в mainWindow?

Кроме того, есть ли способ избавиться от статического приложения, чтобы я мог восстановить его в следующий раз, когда пользователь нажимает на Настройки.

Я знаю, что должен быть какой-то способ заставить WPF хорошо играть с Win Forms. Спасибо всем, кто пытается помочь. Это вызывает у меня сильные головные боли.

Ответы на вопрос(1)

Ваш ответ на вопрос