none
WPF的Application.Startup事件 RRS feed

  • 问题

  • 我打算将特定的扩展名关联到自己写的WPF程序,通过双击该类型文件,然后打开该文件,我查了一下MSDN,在App.xaml里面加入 

    Startup="App_Startup"

    然后我的App.xaml.cs是这样写的

    using System;
    using System.Collections.Generic;
    using System.Configuration;
    using System.Data;
    using System.Linq;
    using System.Windows;
    
    namespace ChineseChess
    {
        /// <summary>
        /// App.xaml 的交互逻辑
        /// </summary>
        public partial class App : Application
        {
            void App_Startup(object sender, StartupEventArgs e)
            {
                if (e.Args.Length == 1)
                {
                    MessageBox.Show(e.Args[0]);
                }
                MainWindow mainWindow = new MainWindow();
                mainWindow.Show();
            }
        }
    }

    运行结果是,直接打开程序没有问题。双击关联扩展名的文件后,弹出的MessageBox可以显示参数文件的地址,但是不会再显示MainWindow主窗口,任务管理器里面也没有应用程序的进程,想必是某种原因退出了。

    另外在命令行窗口中输入 程序名+文件名参数,可以显示MessageBox,也可以显示主窗口,貌似是关联打开方式的问题。

    请问为什么会这样呢?


    • 已编辑 航海日志 2012年4月24日 10:12
    • 已移动 Bob Shen 2012年4月25日 5:59 (发件人:Visual C#)
    2012年4月24日 9:00

答案

全部回复