Abra a janela de configurações do WPF no aplicativo Forms [duplicate]

Duplicata Possível:
Notificação quando a interface do usuário do WPF fecha

Eu fiz uma pergunta muito semelhante antes, mas não obtive nenhuma resposta utilizável. Eu estou esperando que alguém lá fora possa me ajudar.

Eu tenho um aplicativo de bandeja existente programado como um aplicativo do Windows Form. Eu tenho um formulário de configurações existente programado como WPF.

O aplicativo de bandeja precisa ser capaz de: * Abrir o aplicativo Configurações n vezes, com apenas uma instância aberta por vez * Receber uma notificação quando o usuário fechar o aplicativo Configurações.

O aplicativo Configurações usa um ResourceDictionary, o que, acredito, significa que deve ser iniciado a partir do App.xaml.

Eu posso obter a janela Configurações para abrir uma vez e notifico a Bandeja quando ela é desligada usando o seguinte código, mas não consigo abri-la novamente.

        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;
        }

Se eu descomentar as linhas acima, posso interceptar o evento de fechamento e definir a visibilidade como oculto. Na próxima vez que o usuário selecionar Configurações, eu posso configurá-lo de volta para Visível. No entanto, na primeira vez que as Configurações forem abertas, ele não acionará o evento Exit e o shell não obterá o ReferenceDictionary (ou perderá o acesso a ele), portanto, a janela não será exibida corretamente.

Existe uma maneira de executar o WPF do aplicativo e acessar MainWindow (que muitas vezes parece ser nulo e não é do tipo da minha própria janela) para que um ouvinte personalizado possa ser adicionado à mainWindow?

Como alternativa, existe uma maneira de descartar o aplicativo estático para que eu possa re-instanciá-lo na próxima vez que o usuário clicar em configurações.

Eu sei que deve haver alguma maneira de obter WPF para jogar bem com o Win Forms. Obrigado a todos que tentam ajudar. Isso tem me dado grandes dores de cabeça.

questionAnswers(1)

yourAnswerToTheQuestion