Prism使用MVVM样式约定命名将视图绑定到Xamarin应用程序上的ViewModel。在Xamarin上使用Prism时,如果View和ViewModel上的名称不匹配,我该如何警告?
我最近更改了一些演示代码,并在花费太多时间调试之后意识到pagename与视图不匹配。
如何启用日志记录或预编译器警告存在这种差异?
Prism使用MVVM样式约定命名将视图绑定到Xamarin应用程序上的ViewModel。在Xamarin上使用Prism时,如果View和ViewModel上的名称不匹配,我该如何警告?
我最近更改了一些演示代码,并在花费太多时间调试之后意识到pagename与视图不匹配。
如何启用日志记录或预编译器警告存在这种差异?
要添加到丹的回应,您可以绕过命名约定,并通过使用Container.RegisterTypeForNavigation<View, ViewModel>()
方法直接注册ViewModel与视图。由于反射不会用于定位虚拟机,因此速度也会更快。
查看视图的ViewModel由ViewModelLocationProvider在Prism Core中处理。你可以看到here它是如何实现的。如果您要重写默认行为并注入自己的日志记录,则可以将其用作模板,并在App.OnInitialized
中调用ViewModelLocationProvider. SetDefaultViewTypeToViewModelTypeResolver(YourCustomerLocatorFunctionHere)
。
至于任何任何预编译警告,你会自己在那里写一个工具。
我会更新我的项目!我在哪里发送关于棱镜的反馈?我很喜欢它。另外,我的原始问题(OP)让我希望获得这个漂亮工具的移动版本:http://nileshviradiya.blogspot.in/2014/11/debugging-routes-aspnet-mvc.html您是否认为Prism会支持自定义/动态构建的调试页面呢? – LamonteCristo
棱镜托管在https://github.com/prismlibrary/prism。不,棱镜不会得到:) –