Xamarin使用子文件夹形成Prism命名约定

时间:2017-09-15 13:13:53

标签: xamarin.forms prism

在棱镜项目中制作文件夹时是否存在标准的命名约定?

这很有效 的 ViewModals:

HelloWorldPageViewModel

查看:

HelloWorldPage

应用

Container.RegisterTypeForNavigation<Views.HelloWorldPage >();

但出于某种原因,这不起作用

我添加了folling文件夹Login&gt;模板&gt;

ViewModals:

Login.Template.HelloWorldPageViewModel

查看:

Login.Template.HelloWorldPage

应用

Container.RegisterTypeForNavigation<Views.Login.Template.HelloWorldPage >();

2 个答案:

答案 0 :(得分:1)

据我所知,Prism会检查ViewModel和Views的名称空间。

因此,如果你有一个视图,它必须在Views.Something下,如果你想拥有一个viewmodel,它应该是&#34; ViewModels.SomethingViewModel&#34;

答案 1 :(得分:1)

您有三种选择:

  1. 使用ViewModelLocationProvider.SetDefaultViewTypeToViewModelTypeResolver更改命名约定。您可以在此博文中看到一个示例:http://brianlagunas.com/getting-started-prisms-new-viewmodellocator/
  2. 或者您可以直接使用ViewModelLocationProvider.Register<View, ViewModel>();
  3. 注册您的VM
  4. 如果您正在使用Xamarin.Forms,只需使用Container.RegisterTypeForNavigation<View, ViewModel>();方法
  5. 提供VM