gpt4 book ai didi

c# - Prism Xamarin Forms 选项卡式页面导航

转载 作者:行者123 更新时间:2023-11-30 21:49:04 26 4
gpt4 key购买 nike

我有一个使用 Prism 和 Unity 的 Xarmarin Forms 应用程序,但在导航到标签页时遇到问题。

我使用的是以下版本:Prism.Forms v6.1.0-pre5 Prism.Unity.Forms v6.2.0-pre5 Xamarin.Forms v2.3.0.38-pre2

我的标签页是这样的

<?xml version="1.0" encoding="utf-8" ?>
<TabbedPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms"
prism:ViewModelLocator.AutowireViewModel="True"
xmlns:local="clr-namespace:ServiceOrdersMobileApps.Views;assembly=ServiceOrdersMobileApps"
x:Class="ServiceOrdersMobileApps.Views.ServiceOrderTabs">
<NavigationPage Title="Summary">
<x:Arguments>
<local:ServiceOrderSummary />
</x:Arguments>
</NavigationPage>
<NavigationPage Title="Complete">
<x:Arguments>
<local:ServiceOrderDetails />
</x:Arguments>
</NavigationPage>
</TabbedPage>

我正在尝试导航到选择了服务订单详细信息页面的选项卡式页面,但是当我根据此 blog post 导航时.它通过选项卡式页面导航到单独的服务订单详细信息页面

 var p = new NavigationParameters();
p.Add("serviceorder", context);
await _navigationService.NavigateAsync($"{nameof(ServiceOrderTabs)}/{nameof(ServiceOrderDetails)}",p);

最佳答案

您将页面包裹在 Prism 不知道的通用 NavigationPage 中。您需要创建派生的 NavigationPage 并将其注册以进行导航。然后用它来包装您的 CONtentPages。然后您可以尝试像“ServiceOrdersTabs/MyNavigationPage/ServiceOrdersDetails”这样的导航。

但现在我想这可能行不通,因为您将拥有同一 NavigationPage 的多个实例,而 Prism 将使用它找到的第一个并使用它。

要解决此问题,您必须为每个选项卡(ServiceOrderSummaryNavPage、ServiceOrdersDetailsNavPage 等)创建不同的 NavigationPage,以确保每个选项卡都是唯一的。

顺便问一下,您从哪里导航?

关于c# - Prism Xamarin Forms 选项卡式页面导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37216849/

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