我有WPF
个应用程序,我想添加选项以在推荐行中执行我的操作,而不是打开GUI
。
发送Application exe
arguments
的任何方式,如果arguments length in > 0
继续command line
而不是打开GUI
?
答案 0 :(得分:2)
您可以编辑App.xaml.cs
文件并覆盖OnStartup
方法:
public partial class App : Application
{
protected override void OnStartup(StartupEventArgs e)
{
string[] args = e.Args;
if(args.Length > 0 && args[0] == "cl")
{
//...
}
else
{
base.OnStartup(e);
Window2 mainWindow = new Window2();
mainWindow.Show();
}
}
}
您还应该从StartupUri
文件的<Application>
根元素中删除App.xaml
属性。
但是如果你想能够写入控制台,你需要手动创建一个控制台窗口:
No output to console from a WPF application?
然后你也可以在Visual Studio中创建一个控制台应用程序,而不是根据命令行参数启动你的WPF应用程序,例如:
public class Program
{
public static void Main(string[] args)
{
if (args.Length == 0 || args[0] != "cl")
{
System.Diagnostics.Process.Start(@"c:\yourWpfApp.exe");
}
else
{
//...
}
}
}
控制台应用程序不是WPF应用程序,反之亦然。因此,创建两个不同的应用程序。
答案 1 :(得分:1)
在App.xaml.cs
中实施OnStartup
方法。因此,您可以访问通过命令行传递的参数。
protected override void OnStartup(StartupEventArgs e)
{
var args = e.Args;
// do anything with arguments
}