如何使用MvvmCross在WPF应用程序中获取命令行参数?

问题描述 投票:0回答:1

我正在尝试使用 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
    }
}

如何正确执行此操作?

c# wpf navigation mvvmcross app-startup
1个回答
1
投票

无论您是否在 ViewModel 中或身在何处,您都应该能够使用以下内容。

var args = Environment.GetCommandLineArgs();
© www.soinside.com 2019 - 2024. All rights reserved.