Повторно открыть окно WPF из консольного приложения

Я хочу открыть окно WPF из консольного приложения. После ссылки на этот пост , он работает нормально.

Проблема заключается в следующем: когда пользователь закрыл окно WPF (вручную), его нельзя больше открыть из консоли, и выдается сообщение об исключении: «Невозможно создать более одного экземпляра System.Windows.Application в одном и том же AppDomain. "

Вот код:

class Program
    {
        static void Main(string[] args)
        {
            string input=null;
            while ((input = Console.ReadLine()) == "y")
            {
                //Works fine at the first iteration,
                //But failed at the second iteration.
                StartWpfThread();
            }
        }
        private static void OpenWindow()
        {
            //Exception(Cannot create more than one System.Windows.Application instance in the same AppDomain.)
            //is thrown at the second iteration.
            var app = new System.Windows.Application();
            var window = new System.Windows.Window();
            app.Run(window);
            //User  closes the opened window manually.
        }
        private static void StartWpfThread()
        {
            var thread = new Thread(() =>
            {
                OpenWindow();
            });
            thread.SetApartmentState(ApartmentState.STA);
            thread.IsBackground = false;
            thread.Start();
        }
    }

Как я могу повторно открыть окно WPF?

11
задан Community 23 May 2017 в 12:33
поделиться