C# MVVM交叉加载来自不同部件的视图和视图模型
我正在尝试从单独的部件中使用视图和视图模型。我已经读了答案,但没有一个能让我满意 方法GetViewAssemblys()和GetViewModelAssemblys()不起任何作用-未加载视图。InitializeViewLookup()方法按预期工作,但它需要手动配对所有视图和视图模型C# MVVM交叉加载来自不同部件的视图和视图模型,c#,xamarin.forms,mvvmcross,C#,Xamarin.forms,Mvvmcross,我正在尝试从单独的部件中使用视图和视图模型。我已经读了答案,但没有一个能让我满意 方法GetViewAssemblys()和GetViewModelAssemblys()不起任何作用-未加载视图。InitializeViewLookup()方法按预期工作,但它需要手动配对所有视图和视图模型 为重现问题而采取的步骤: 下载示例: 运行MvvmCross_表单_示例解决方案 对于001XAML,例如。W81: 将mvvmcross更新为4.2.3,将Xamarin.表单更新为2.3.1.114 创建
protected override IEnumerable<Assembly> GetViewAssemblies()
{
var list = new List<Assembly>();
list.AddRange(base.GetViewAssemblies());
list.Add(typeof(Example.Pages.FirstPage).GetTypeInfo().Assembly);
return list;
}
protected override IEnumerable<Assembly> GetViewModelAssemblies()
{
var list = new List<Assembly>();
list.AddRange(base.GetViewModelAssemblies());
list.Add(typeof(Example.ViewModels.FirstViewModel).GetTypeInfo().Assembly);
return list;
}
请上传修改后的解决方案好吗?这里是:请上传修改后的解决方案好吗?这里是:
protected override void InitializeViewLookup()
{
var viewModelLookup = new Dictionary<Type, Type>
{
{typeof(ViewModels.AboutViewModel), typeof(Pages.AboutPage)},
{typeof(ViewModels.FirstViewModel), typeof(Pages.FirstPage)}
};
var container = Mvx.Resolve<IMvxViewsContainer>();
container.AddAll(viewModelLookup);
}