如何使用Winforms Application启动WPF应用程序

时间:2013-09-14 14:20:54

标签: wpf

我正在尝试使用Win Forms应用程序启动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实例

1 个答案:

答案 0 :(得分:0)

您无法在App类中启动多个实例。所以你可以使用一个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());
            }
        }
    }