Wpf 如何在MVVM灯光下使用SimpleIoc将数组添加到参数?

Wpf 如何在MVVM灯光下使用SimpleIoc将数组添加到参数?,wpf,mvvm-light,simpleioc,Wpf,Mvvm Light,Simpleioc,我在项目中使用MVVM light库。 我正在尝试向ViewModel的构造函数添加数组 例如。。。如果下面的代码是 public MainViewModel(ToolWindowViewModel[] toolItems) { // to do } 我想知道一种使用SimpleIoC类将数组注入MainViewModel的构造函数的方法 是否有一种公式化的方法来添加带有SimpleIoc类的数组 如果是,有人能告诉我怎么做吗? 如果不是,在这种情况下最好的方法是什么 感谢阅读。您可以

我在项目中使用MVVM light库。 我正在尝试向ViewModel的构造函数添加数组

例如。。。如果下面的代码是

public MainViewModel(ToolWindowViewModel[] toolItems)
{
    // to do
}
我想知道一种使用SimpleIoC类将数组注入MainViewModel的构造函数的方法

是否有一种公式化的方法来添加带有SimpleIoc类的数组

如果是,有人能告诉我怎么做吗? 如果不是,在这种情况下最好的方法是什么


感谢阅读。

您可以在
ViewModelLocator
中注册
Func
,在此初始化数组:

public class ViewModelLocator
{
    public ViewModelLocator()
    {
        ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);
        SimpleIoc.Default.Register(new System.Func<MainViewModel>(() => new MainViewModel(new ToolWindowViewModel[0])));
    }

    public MainViewModel Main
    {
        get
        {
            return ServiceLocator.Current.GetInstance<MainViewModel>();
        }
    }
}
公共类ViewModelLocator
{
公共ViewModelLocator()
{
ServiceLocator.SetLocatorProvider(()=>SimpleIoc.Default);
SimpleIoc.Default.Register(新的System.Func(()=>new MainViewModel(新的工具WindowViewModel[0]));
}
公共主视图模型主视图
{
收到
{
返回ServiceLocator.Current.GetInstance();
}
}
}