需要帮助才能在启动时显示ViewModel

时间:2011-04-21 09:06:53

标签: wpf mvvm

这个问题涉及到: 开始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)的末尾,这就是我需要在启动时启动的视图,而我似乎无法让它工作。错误是没有适用的可变量。

我搜索了谷歌的容器用途.GetA和返回结果没用。

这里的某个人可能只需要一眼就能轻松解决这个问题!

干杯 罗汉

1 个答案:

答案 0 :(得分:1)

您需要HomeView的实例:

container.GetA<IMainViewModel>().NavigateToView(new HomeView());