从c#命令行获取字符串并将其传递给wpf窗口

时间:2010-08-24 00:02:03

标签: c# wpf

非常新手的问题。

我想覆盖我的WPF应用程序中的Main,所以如果我双击一个文件,它将被加载。我的主要职责是:

    [STAThread]
    static void Main(string[] args)
    {
        FileConvert.App app = new FileConvert.App();
        app.InitializeComponent();

        if (args.Length > 0)
        {
            Window1 wnd1 = (Window1)(app.MainWindow);
            wnd1.SetProjectFile(args[0]);
        }

        app.Run();

我的问题是wnd1为null。如何访问此窗口以便我可以将文件名传递给它?

谢谢!

1 个答案:

答案 0 :(得分:5)

尝试覆盖App.xaml.cs中的Main方法,而不是覆盖OnStartup方法:

public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        if (e.Args.Length > 0)
            ((Window1) MainWindow).SetProjectFile(e.Args[0]);
    }
}