1.4 输入参数
在WinForm应用程序中,应用程序的入口函数是一个Main方法,我们可以向该方法传递一个命令行参数。WPF也可以用类似的方法,而且更加灵活。
方法1:在Application类中定义带参数的Main方法,如下面的DesktopApp:
namespace Yingbao.Chapter1.WpfAppWithInputParam
{
public class DesktopApp: Application
{
[STAThread]
public static void Main(string[] command )
{
//...加入你的程序
}
}
}
方法2:调用GetCommandLineArgs,如下面的Main中所用的方法:
namespace Yingbao.Chapter1.WpfAppWithInputParam { public class DesktopApp: Application { [STAThread] public static void Main( ) { string[] commandline = Environment.GetCommandLineArgs(); foreach (string cmd in commandline) { Console.Write(cmd); } } } }
方法3:移植OnStartUp方法
方法1和方法2都需要处理入口函数Main。我们在Visual Studio中创建WPF应用程序,通常使用项目模板,该项目模板创建的Application类由两部分组成,一部分是XAML,一部分是后台C#。WPF在编译时,会自动产生一个Main函数,即在这种情况下,我们不能定义自己的Main方法。这时候若要处理命令行参数,则要移植OnStartUp方法:
namespace Yingbao.Chapter1.WPFStartUp
{
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
base.OnStartup(e);
string[] commands = e.Args;
foreach (string command in commands)
{
Console.Write(command);
}
//你自己的逻辑
}
}
}