我正在尝试使用 WinForms 应用程序启动 WPF 应用程序。
这是我的代码
private void button2_Click(object sender, EventArgs e)
{
try
{
var app = new App();
app.InitializeComponent();
app.Run(new MainWindow());
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
当我单击按钮时,它将加载 WPF 应用程序。然后,如果我关闭 WPF 并再次单击该按钮,则会收到以下错误
无法在同一 AppDomain 中创建多个 System.Windows.Application 实例
您不能在 App 类中启动多个实例。所以你可以使用一个应用程序实例来解决这个问题。答案如下
public partial class Form1 : Form
{
App app;
public Form1()
{
InitializeComponent();
app = new App();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
app.InitializeComponent();
app.MainWindow = new MainWindow();
app.ShutdownMode = System.Windows.ShutdownMode.OnExplicitShutdown;
app.MainWindow.Show();
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
}