gpt4 book ai didi

xamarin.forms - Prism Forms 中的 MasterDetail 和 NavigationPage 深度链接

转载 作者:行者123 更新时间:2023-12-04 03:25:13 26 4
gpt4 key购买 nike

我正在测试 Prism Forms 框架的深层链接功能。我目前的情况是我有一个 MasterDetailPage,其中有一个菜单作为 Master。当我单击菜单项时,详细信息应更改为以干净的 NavigationPage 作为容器的特定页面。

当我检查 Sandbox example对于 Prism Forms,它显示了 MasterDetail 导航的示例,但不包括导航页面。

所以我在启动时有这个(绝对)深层链接结构:/MasterDetailPage/NavigationPage/MyFirstPage

然后我希望第二个菜单项链接到新的 NavigationPage:/MasterDetailPage/NavigationPage/MySecondPage

我目前的解决方法是做绝对深度链接,但我想知道是否有更好的方法? Prism PageNavigationService 检查段类型是否与当前的详细信息类型相同。但由于它们都是 NavigationPage,它会尝试在现有的 NavigationPage 中添加新页面。在那一刻它也杀死了菜单图标(至少在 iOS 上)。

最佳答案

实际上,Sandbox 应用确实在 MasterDetail 中使用了 NavigationPages:https://github.com/PrismLibrary/Prism/blob/master/Sandbox/Xamarin/HelloWorld/HelloWorld/HelloWorld/Views/MyMasterDetail.xaml

Prism 出于性能原因重用详细信息页面,但它并不像您想象的那样工作。虽然它确实将新页面添加到 NavigationPage 的 NavigationStack,但它也会从堆栈中删除前一个页面。这会使 NavigationStack 保持在正确的状态。

您看到的图标行为是由于 Xamarin.Forms 中已确认的错误。您可以在此处关注此问题:https://bugzilla.xamarin.com/show_bug.cgi?id=41038

一旦 Xamarin 修复了这个错误,我就会将修复发布到 Nuget。同时,解决此问题的唯一方法是 fork Prism 代码库并删除页面类型检查。

关于xamarin.forms - Prism Forms 中的 MasterDetail 和 NavigationPage 深度链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37189084/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com