我一直在使用 syncfusion 选项卡控件作为我的应用程序布局的一部分,但是,最近引入了 Xamarin 社区工具包 (xct) 并且 LazyView 处于最新的预发布 nuget 中,我想使用这个和看看体验如何。
我像往常一样在 app.xaml.cs 文件中正常执行注册:
ViewModelLocationProvider.Register<HomeView, HomeViewViewModel>();
当我在内容页面上时,我将视图添加到选项卡项:
<xct:TabViewItem Icon="{AppThemeBinding Light={local:ImageResource App.Assets.Icons.Black.home_100px.png}, Dark={local:ImageResource App.Assets.Icons.White.home_100px.png}}" Text="Home">
<xct:TabViewItem.Content>
<xct:LazyView x:TypeArguments="dressmakerViews:HomeView" />
</xct:TabViewItem.Content>
</xct:TabViewItem>
此时视图已按预期添加,但被分配了内容页面的视图模型,而不是我为视图注册的视图模型。
这里明显的故障排除是在 tabview 之外使用 LazyView 并分配了预期的视图模型。
我的问题是帮助我理解它为什么这样做以及如何解决问题。
作为让应用程序正常工作的一种解决方法,我不得不将代码移到内容页面的视图模型中,但这里的一切都感觉不对,我希望能够解决。