xamarin.forms - GoBackAsync(useModalNavigation:true) 到 MasterDetailPage 在 UWP 上不起作用
问题描述
我正在创建一个使用 Prism 的 Xamarin Forms 应用程序。该解决方案具有 Xamarin 支持的三个项目:Android、iOS 和 UWP。该应用程序从具有两个子页面的 MainPage(MasterDetailPage) 开始:Promotions 和 Account。
<ContentPage.Content>
<ListView x:Name="listView"
ItemSelected="ListView_ItemSelected">
<ListView.Behaviors>
<behaviors:EventToCommandBehavior EventName="ItemTapped"
Command="{Binding ItemTappedCommand}"
EventArgsParameterPath="Item"/>
</ListView.Behaviors>
<ListView.ItemsSource>
<x:Array Type="{x:Type viewModels:MasterItem}">
<viewModels:MasterItem Title="Promoções" Path="PromotionsPage"/>
<viewModels:MasterItem Title="Conta" Path="AccountPage"/>
</x:Array>
</ListView.ItemsSource>
<ListView.ItemTemplate>
<DataTemplate>
<ViewCell>
<Label Text="{Binding Title}" Margin="10"/>
</ViewCell>
</DataTemplate>
</ListView.ItemTemplate>
</ListView>
</ContentPage.Content>
当用户导航到 AccountPage 时,应用程序会验证用户是否已登录。如果不是,则显示带有 SignInPage 的模式页面。
...
private async void ItemTapped(MasterItem masterItem)
{
if (masterItem.Title.Equals("Conta"))
{
if (isLogged)
await _navigationService.NavigateAsync("NavigationPage/AccountPage");
else
await _navigationService.NavigateAsync("NavigationPage/SignInPage", useModalNavigation:true);
}
else
{
await _navigationService.NavigateAsync("NavigationPage/" + masterItem.Path);
}
}
...
在 SignInPage 中有一个取消按钮可以返回到 MainPage。在 Android 上,当用户返回时,MainPage(MasterDetailPage) 菜单会正确显示。但是在 UWP 上它不起作用。
解决方案
推荐阅读
- android - 无异常删除 Firebase 中的匿名用户
- c++ - ISearchJob->Release() 卡住
- agm-core - 使用 agm 核心自动缩放到多边形
- python - 如何修复错误 ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] 错误的版本号?
- angularjs - 如何在 MomentJS 中格式化零
- angular - 角度形式:等效于反应形式的构造函数 ngForm 注入?
- javascript - 如何创建带有附加隐藏字段(经度、纬度)的 Google 地址自动填充搜索框?
- mysql - 为什么更改 mysql 中的表排序规则会因违反唯一索引而中断?
- gstreamer - 如何更改 gstreamer 元素属性
- c# - c#如何自动为每个类实例增加id