Я хочу открыть окно 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?