WPF 无法读取传递的参数
WPF can't read arguments passed
我试图在 WPF 中获取命令行参数,但它总是 returns []
。很奇怪我什至尝试通过 cmd
发送参数但没有成功
private void Application_Startup(object sender, StartupEventArgs e)
{
MessageBox.Show(e.Args.ToString()); // returns Empty Array
MessageBox.Show(Environment.GetCommandLineArgs().ToString()); // returns Empty Array
if (e.Args.Length == 1 && e.Args[0] == "INSTALLER")
{
return;
}
// Create main application window, starting minimized if specified
MainWindow mainWindow = new MainWindow();
mainWindow.WindowState = WindowState.Maximized;
mainWindow.Show();
}
这就是我在 CustomAction::
中传递参数的方式
#编辑::
我正在使用简单的 VisualStudio 安装程序,生成 MSI 文件。 我想 运行 应用安装后带有一些参数
您可以重写 App.cs 中的 OnStartup 方法,它以 StartupEventArgs
作为参数。
然后只需使用 startupEventArgs.Args
获取命令行参数,如下所示:
protected override void OnStartup(StartupEventArgs startupEventArgs)
{
MessageBox.Show(startupEventArgs.Args[0].ToString());
}
如果您只是将 startupEventArgs.Args.ToString()
打印到 Messagebox,它将打印 System.String[]
。这只是数组的数据类型,但这并不意味着它是空的。尝试使用索引访问它或打印 startupEventArgs.Args.Length
我试图在 WPF 中获取命令行参数,但它总是 returns []
。很奇怪我什至尝试通过 cmd
发送参数但没有成功
private void Application_Startup(object sender, StartupEventArgs e)
{
MessageBox.Show(e.Args.ToString()); // returns Empty Array
MessageBox.Show(Environment.GetCommandLineArgs().ToString()); // returns Empty Array
if (e.Args.Length == 1 && e.Args[0] == "INSTALLER")
{
return;
}
// Create main application window, starting minimized if specified
MainWindow mainWindow = new MainWindow();
mainWindow.WindowState = WindowState.Maximized;
mainWindow.Show();
}
这就是我在 CustomAction::
中传递参数的方式#编辑:: 我正在使用简单的 VisualStudio 安装程序,生成 MSI 文件。 我想 运行 应用安装后带有一些参数
您可以重写 App.cs 中的 OnStartup 方法,它以 StartupEventArgs
作为参数。
然后只需使用 startupEventArgs.Args
获取命令行参数,如下所示:
protected override void OnStartup(StartupEventArgs startupEventArgs)
{
MessageBox.Show(startupEventArgs.Args[0].ToString());
}
如果您只是将 startupEventArgs.Args.ToString()
打印到 Messagebox,它将打印 System.String[]
。这只是数组的数据类型,但这并不意味着它是空的。尝试使用索引访问它或打印 startupEventArgs.Args.Length