如何根据命令行参数打开不同的窗口?

时间:2015-07-04 23:05:12

标签: c# wpf windows

我正在尝试为Windows创建简单的WPF应用程序。我需要在从命令行获取参数时显示Window1并显示不带参数的Window2。我还需要将此参数传递给Window1。

我在App类中创建窗口并定义Application_Startup()方法:

private void Application_Startup(object sender, StartupEventArgs e)
{
    if (e.Args.Length > 0)
    {
        // Here is I need to open Window1 and pass argument to this windows class
    }
    else
    {
        // Here is I need to open Window2
    }
}
  1. 如何根据参数打开不同的窗口?
  2. 如何将参数从App类传递给窗口类?

1 个答案:

答案 0 :(得分:1)

有很多方法可以做到,但一种方法是通过构造函数将数据传递给新的窗口类。

喜欢这个:

private void Application_Startup(object sender, StartupEventArgs e)
{
    if (e.Args.Length > 0)
    {
        var window1 = new Window1(e.Args[0]);
        window1.Show()
    }
    else
    {
         var window2 = new Window2();
         window2.Show()
    }
}