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