【发布时间】:2021-07-16 13:59:10
【问题描述】:
我正在尝试使用 MvvmCross 将命令行参数传递给我的 WPF 应用程序。
我想访问 MainViewModel 中的参数。
类似于您在App.xaml.cs 中重写 OnStartup() 方法(或为 Startup 事件创建事件处理程序)并在那里处理您的参数。
我尝试从MvxApplication<object> 继承我的App.cs 并使用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
}
}
我该如何正确地做到这一点?
【问题讨论】:
-
Environment.GetCommandLineArgs()能满足您的需求吗? -
@RyanThomas 实际上......是的!耽误了我。谢谢!
-
别担心,我会发布一个答案,以便您接受并且问题已完成:)
标签: c# wpf navigation mvvmcross app-startup