¿Cómo puedo asegurarme de que solo una ventana de WPF está abierta a la vez?

Tengo una ventana de WPF que estoy lanzando desde dentro de una aplicación winform. Solo quiero permitir que una instancia de esa ventana WPF esté abierta a la vez, y no advertir a ese usuario si intenta abrirla de nuevo.

Sin embargo, tengo un problema al intentar buscar la ventana de WPF que está abierta porque la ventana se está iniciando desde un formulario de ganancias. Lo que normalmente hago es cuando busco una forma de victoria, busco cualquier instancia de esa forma de victoria existente en elApplication.Current.OpenForms, y cuando en WPF buscoApplication.Current.Windows

El problema que tengo es queSystem.Windows.Application.Current es nulo cuando se inicia desde el interior de una forma de victoria, por lo que no puedo buscar la ventana de WPF de esa manera. ¿Hay alguna forma mejor de buscar una instancia existente de una ventana abierta?

Mi código:

if (System.Windows.Application.Current != null)
                {
                    foreach (System.Windows.Window win in System.Windows.Application.Current.Windows)
                    {
                        if (win is frmCaseWpf)
                        {
                            MessageBox.Show("You may have only one active case open at a time.", "Open Case",
                                      MessageBoxButtons.OK,
                                      MessageBoxIcon.Stop);

                            win.WindowState = System.Windows.WindowState.Normal;
                            win.Focus();
                            win.Activate();
                            return;
                        }
                    }
                }

Respuestas a la pregunta(6)

Su respuesta a la pregunta