C# 在Xamarin上使用Prism时,如果视图和ViewModel上的名称不';不匹配?

C# 在Xamarin上使用Prism时,如果视图和ViewModel上的名称不';不匹配?,c#,xamarin.ios,xamarin.forms,prism,prism-6,C#,Xamarin.ios,Xamarin.forms,Prism,Prism 6,Prism使用MVVM样式的约定命名将视图绑定到Xamarin应用程序上的ViewModel 我最近修改了一些演示代码,在花了太多时间调试之后,我意识到页面名与视图不匹配 如何启用日志记录或编译器前警告,以避免出现这种差异 定位视图的ViewModel由ViewModelLocationProvider在Prism Core中处理。您可以看到它是如何实现的。如果您需要覆盖默认行为并插入自己的日志记录,则可以将其用作模板并调用ViewModelLocationProvider。在您的应用程序中,将

Prism使用MVVM样式的约定命名将视图绑定到Xamarin应用程序上的ViewModel

我最近修改了一些演示代码,在花了太多时间调试之后,我意识到页面名与视图不匹配


如何启用日志记录或编译器前警告,以避免出现这种差异

定位视图的ViewModel由ViewModelLocationProvider在Prism Core中处理。您可以看到它是如何实现的。如果您需要覆盖默认行为并插入自己的日志记录,则可以将其用作模板并调用
ViewModelLocationProvider。在您的
应用程序中,将DefaultViewTypeToViewModelTypeResolver(您的CustomerLocatorFunctionhere)
设置为初始值


至于任何预编译警告,您都可以自己编写一个工具

定位视图的ViewModel由ViewModelLocationProvider在Prism Core中处理。您可以看到它是如何实现的。如果您需要覆盖默认行为并插入自己的日志记录,则可以将其用作模板并调用
ViewModelLocationProvider。在您的
应用程序中,将DefaultViewTypeToViewModelTypeResolver(您的CustomerLocatorFunctionhere)
设置为初始值


至于任何预编译警告,您都可以自己编写一个工具

要添加到Dan的响应中,您可以绕过命名约定,使用
Container.RegisterTypeForNavigation()
方法直接向视图注册ViewModel。这也更快,因为反射不会用于定位VM。

要添加到Dan的响应中,您可以绕过命名约定,通过使用
Container.RegisterTypeForNavigation()
方法直接向视图注册ViewModel。这也更快,因为反射不会用于定位VM。

我将更新我的项目!我在哪里发送有关Prism的反馈?我真的很喜欢。另外,我最初的问题(OP)让我希望有一个这个漂亮工具的移动版本:你认为Prism会支持这样一个自定义/动态构建的调试页面吗?Prism位于。不,Prism不会得到:)我会更新我的项目!我在哪里发送有关Prism的反馈?我真的很喜欢。另外,我最初的问题(OP)让我希望有一个这个漂亮工具的移动版本:你认为Prism会支持这样一个自定义/动态构建的调试页面吗?Prism位于。不,Prism将无法获取该信息:)