我目前正在开发一个进行一些文件操作的应用程序,我希望能够通过控制台或UI(我选择了WPF)进行操作。
我很想说:(假的)
if ( Environment.GetCommandLineArgs().Length > 0 )
{
//Do not Open WPF UI, Instead do manipulate based
//on the arguments passed in
}
else
{
//Open the WPF UI
}
我读到过一些以编程方式启动WPF窗口/应用程序的不同方法,如:
Application app = new Application ();
app.Run(new Window1());
但我不完全确定是否要将其插入控制台应用程序。
有没有人对我如何实现这一点有最佳实践或建议?主要的处理功能在我创建的Helper类中。所以基本上我要么需要一个静态启动方法(像标准的Console应用程序创建的那样),要么需要一个UI来访问Helper类,这取决于传入的参数。
3条答案
按热度按时间0dxa2lsx1#
在
Application
类中有一个事件“StartUp”,你可以使用它。它提供你通过命令提示符提供的参数。下面是MSDN的一个例子:应用程序xaml
应用程序.xaml.cs
我希望这会有帮助。
of1yzvn42#
有两个选项可用于获取命令行参数
1)如果你想读取参数
OnStartup
。这对于args
的全局访问是很好的。覆写
App.xaml.cs
中的OnStartup
,并查看StartupEventArgs
类别的Args
属性。2)另一个简单的方法是从环境对象中读取参数。
这可以从应用程序中的任何地方使用,如从表单/页面。
ux6nzvsh3#
我更喜欢覆盖OnStartup,因为启动事件通常注册在“App.xaml”中,我有时不想修改它。而且OnStartup函数可以提供一种方法,在启动事件被调用之前做一些预处理。这就是为什么我们可以覆盖OnStartup!