当前位置:  开发笔记 > 开发工具 > 正文

WPF命令行

如何解决《WPF命令行》经验,为你挑选了2个好方法。

我正在尝试创建一个获取命令行参数的WPF应用程序.如果没有给出参数,则应弹出主窗口.在某些特定命令行参数的情况下,代码应该在没有GUI的情况下运行并在完成时退出.关于如何正确完成这一任何建议将不胜感激.



1> Matt Hamilto..:

首先,在App.xaml文件的顶部找到此属性并将其删除:

StartupUri="Window1.xaml"

这意味着应用程序不会自动实例化您的主窗口并显示它.

接下来,覆盖App类中的OnStartup方法以执行逻辑:

protected override void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);

    if ( /* test command-line params */ )
    {
        /* do stuff without a GUI */
    }
    else
    {
        new Window1().ShowDialog();
    }
    this.Shutdown();
}


为了写入启动应用程序的控制台,您需要在完成后调用AttachConsole(-1),Console.Writeline(消息),然后调用FreeConsole().
请注意:在Windows1.xaml中,我们无法使用App资源.它们尚未加载:它们在System.Windows.Application.DoStartup(内部方法)中加载,并且在OnStartup之后调用DoStartup.

2> GeekyMonkey..:

要检查你的论证是否存在 - 在Matt的解决方案中使用它进行测试:

e.Args.Contains( "MyTriggerArg")

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有