繁体   English   中英

在MVVMCross中匹配ViewModel和View

[英]Matching ViewModel and View in MVVMCross

我有一个MVVM Cross应用程序,我试图弄清楚为什么未显示初始屏幕(这在WinRT上)。

以下代码看起来像它加载了ViewModel MainViewModel

var setup = new Setup(rootFrame);
setup.Initialize();

var start = Cirrious.CrossCore.Mvx.Resolve<Cirrious.MvvmCross.ViewModels.IMvxAppStart>();
start.Start();

但是,永远不会调用MainViewModelStart方法。 原因似乎是输出中的此错误:

Error seen during navigation request to MainViewModel - error KeyNotFoundException: Could not find view for MyApp.PCL.ViewModels.MainViewModel

因此,这是我对问题的猜测:它正在寻找MyApp.PCL.ViewModels.MainView ,显然,这并不存在。 该视图位于: MyApp.Views.MainView 我的假设正确吗?如果是,我该如何说服MVVMCross查找正确的位置?

编辑:

MyApp.Windows WinRT应用程序调用Setup方法。

protected override IMvxApplication CreateApp()
{
    return new MyApp.PCL.App();
}

MyApp.PCL是从MyApp.Windows引用的可移植类库。 MyApp.PCL包含ViewModel,而MyApp.Windows包含视图。

我试图覆盖Start()

public class MainViewModel 
    : MvxViewModel
{

    public override void Start()
    {            
        System.Diagnostics.Debugger.Break();
        base.Start();
    }

但这永远不会受到打击。

Do! 在这里,但我将发布解决方案; 我的视图不是使用MvxStoreView,而是使用标准的StoreView。

解决方案是按以下方式更改视图:

 ...
 xmlns:views="using:Cirrious.MvvmCross.WindowsStore.Views"
 ...
<views:MvxStorePage

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM