Нужна помощь с отображением ViewModel при запуске - PullRequest
1 голос
/ 21 апреля 2011

Этот вопрос касается: запуска приложения WPF / MVVM: переход между представлениями http://www.codeproject.com/Articles/72724/Beginning-a-WPF-MVVM-application-Navigating-betwee.aspx

Я спросил автора статьи в его блоге о том, как подойти к этой проблеме, однако явсе еще в тупике.

Это мой App.xaml.cs

namespace PlatformXpress
{
/// <summary>
/// Interaction logic for App.xaml
/// </summary>
public partial class App : Application
{
    protected override void OnStartup(StartupEventArgs e)
    {
        base.OnStartup(e);
        var container = new MicrokernelContainer();
        container.RegisterA<IMainViewModel>(typeof(MainViewModel));
        container.RegisterA<IHomeViewModel>(typeof(HomeViewModel));
        container.RegisterA<ICompanyOverviewViewModel>    
        (typeof(CompanyOverviewViewModel));
        container.GetA<IMainViewModel>().NavigateToView(HomeView);
        Container.InitializeContainerWith(container);
    }
}
}

Теперь все работает так, как и должно быть в приведенном примере (я изменил вещи, чтобы приспособить свое использование), ис моим запросом было предложено добавить строку container.GetA.В VS 2010 единственная проблема - в конце указанной строки @ (HomeView), это представление, которое мне нужно запустить при запуске, и я просто не могу заставить его работать.ошибка в том, что нет применимого varable.

Я искал в Google варианты использования контейнера. Получаем результаты и результаты бесполезны.

Кто-то из здесь, вероятно, сможет решитьэто довольно легко с одним взглядом!

Ура Rohan

1 Ответ

1 голос
/ 21 апреля 2011

Вам нужен экземпляр HomeView:

container.GetA<IMainViewModel>().NavigateToView(new HomeView());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...