MVVMLight ViewModelLocator регистрация dataservice

Этот вопрос может показаться наивным, но я не смог понять этот код в файле ViewModelLocator.cs:

static ViewModelLocator()
{
    ServiceLocator.SetLocatorProvider(() => SimpleIoc.Default);

    if (ViewModelBase.IsInDesignModeStatic)
    {
        SimpleIoc.Default.Register<IDataService, Design.DesignDataService>();
    }
    else
    {
        SimpleIoc.Default.Register<IDataService, DataService>();         
    }

    SimpleIoc.Default.Register<MainViewModel>();
}

Я вижу, что мы используем DataService для получения данных (например, из WCF-сервиса) и присваиваем их MainViewModel. Но что если я регистрирую более одной ViewModel? Вот так:

static ViewModelLocator()
{
    ....
    SimpleIoc.Default.Register<MainViewModel>();
    SimpleIoc.Default.Register<Page2ViewModel>();
}

и допустим у меня есть еще один DataService (DataService2 например), но этот я буду использовать с Page2ViewModel. как я могу это сделать?

Также, если кто-то может мне помочь (или хотя бы дать ссылку для чтения) по поводу вышеприведенного кода. Я понятия не имею, что он означает.

7
задан Cody Gray 29 January 2012 в 10:47
поделиться