我正在尝试使用 MvvmCross 将命令行参数传递到我的 WPF 应用程序。
我想访问我的 MainViewModel 中的参数。
类似于如何在
App.xaml.cs
中重写 OnStartup() 方法(或为 Startup 事件创建事件处理程序)并在那里使用参数进行操作。
我尝试从
App.cs
继承我的 MvxApplication<object>
并使用 MvxNavigationViewModel<object>
作为 MainViewModel 基类,如下所示:
public class App : MvxApplication<object>
{
public override void Initialize()
{
#region BulkRegistration
CreatableTypes()
.EndingWith("Service")
.AsInterfaces()
.RegisterAsLazySingleton();
#endregion
#region AppStartRegistration
RegisterAppStart<MainViewModel, object>();
#endregion
}
}
我的 MainViewModel 中的
Prepare(object parameter)
方法永远不会被调用。
public class MainViewModel : MvxNavigationViewModel<object>
{
// ...
public override void Prepare(object parameter)
{
// do stuff with parameter
}
}
如何正确执行此操作?
无论您是否在 ViewModel 中或身在何处,您都应该能够使用以下内容。
var args = Environment.GetCommandLineArgs();