У меня есть гибридное приложение с функциями консоли или WPF. Если приложение WPF запущено или что-то сделано в окне консоли, зависит от аргументов при запуске. Я смог реализовать это (есть много примеров, чтобы найти в stackoverflow). Теперь я хочу, чтобы при запуске приложения WPF окно консоли было закрыто. Но это показано, и если я закрою его, приложение WPF также закроется.
Это моя текущая реализация.
using System;
using System.Windows;
namespace MyNamespace
{
class Program
{
[STAThread]
static void Main(string[] args)
{
string option = args[0];
switch (option)
{
case "WPF":
RunApplication();
break;
default:
DoSomething();
break;
}
}
private static void RunApplication()
{
Application app = new Application();
app.Run(new MainWindow());
Environment.Exit(0);
}
private static void DoSomething()
{
// …
}
}
}
Если я пытаюсь запустить приложение в новом Thread
, приложение закрывается напрямую, и окно WPF не отображается.
using System.Threading;
using System.Threading.Tasks;
private static void RunApplication()
{
new Thread(() => {
Application app = new Application();
app.Run(new MainWindow());
}).Start();
Environment.Exit(0);
}
Понятия не имею, как мне это реализовать. Есть ли возможность сделать это?