1

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 インスタンスを作成することはできません

4

1 に答える 1

0

App クラスで複数のインスタンスを開始することはできません。したがって、1 つのアプリ インスタンスを使用してこれを解決できます。答えは次のとおりです。

 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());
            }
        }
    }
于 2013-09-14T14:52:39.943 に答える