Как добавить массив к параметру с помощью SimpleIo c в MVVM Light? - PullRequest
0 голосов
/ 17 февраля 2020

Я использую легкую библиотеку MVVM в своем проекте. Я пытаюсь добавить массив в конструктор ViewModel.

Например ... если код ниже

public MainViewModel(ToolWindowViewModel[] toolItems)
{
    // to do
}

Я хотел бы знать способ, которым массив вводит в конструктор MainViewModel с классом SimpleIo C.

Есть ли способ формулы c добавить массив с классом SimpleIo c?

Если это так, может кто-нибудь сказать мне как сделать? Если это не так, как лучше в этом сценарии?

Спасибо за чтение.

1 Ответ

1 голос
/ 17 февраля 2020

Вы можете зарегистрировать Func<MainViewModel> в ViewModelLocator, где вы инициализируете массив:

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>();
        }
    }
}
...