从 Master Detail 页面按下后退按钮(硬件)
Pressing Back Button (Hardware) from Master Detail Page
我正在使用 Prism 进行 XF 项目。我有一个登录页面,成功后导航到主详细信息页面。
<Button Style="{StaticResource MenuButtonStyle}" Text="Title1" Command="{Binding NavigateCommand}" CommandParameter="DetailNavigationPage/Page1" Grid.Row="3" Grid.Column="0"></Button>
我在母版页中有 4 个按钮,我用它们进行导航,如上面的代码所示。
这很好用,从某种意义上说,我可以导航到我的详细信息页面,然后使用汉堡图标再次查看母版页。
但是,当我单击后退按钮(硬件)时,我被推回到登录页面而不是母版页面。当我按下后退按钮时,我可以做些什么来显示我的母版页?
谢谢
如果您想阻止导航回到登录页面,最好的办法是将其从导航堆栈中删除。如果您在成功登录时的导航调用是:
_navigationService.NavigateAsync( "MainPage" );
您的导航堆栈实际看起来像:LoginPage/MainPage
。虽然您的应用程序可能不提供返回导航的方法,但您发现硬件后退按钮仍然可以完成任务。另一方面,如果您将导航调用更改为:
_navigationService.NavigateAsync( "/MainPage" );
它将"MainPage"设为您应用程序的根页面。
我正在使用 Prism 进行 XF 项目。我有一个登录页面,成功后导航到主详细信息页面。
<Button Style="{StaticResource MenuButtonStyle}" Text="Title1" Command="{Binding NavigateCommand}" CommandParameter="DetailNavigationPage/Page1" Grid.Row="3" Grid.Column="0"></Button>
我在母版页中有 4 个按钮,我用它们进行导航,如上面的代码所示。
这很好用,从某种意义上说,我可以导航到我的详细信息页面,然后使用汉堡图标再次查看母版页。
但是,当我单击后退按钮(硬件)时,我被推回到登录页面而不是母版页面。当我按下后退按钮时,我可以做些什么来显示我的母版页?
谢谢
如果您想阻止导航回到登录页面,最好的办法是将其从导航堆栈中删除。如果您在成功登录时的导航调用是:
_navigationService.NavigateAsync( "MainPage" );
您的导航堆栈实际看起来像:LoginPage/MainPage
。虽然您的应用程序可能不提供返回导航的方法,但您发现硬件后退按钮仍然可以完成任务。另一方面,如果您将导航调用更改为:
_navigationService.NavigateAsync( "/MainPage" );
它将"MainPage"设为您应用程序的根页面。