最简单的方法(我认为)是,在加载第一个屏幕时,重定向到第二个屏幕,然后从后台删除页面。
在第一个屏幕中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
NavigationService.Navigate(new Uri("/SecondScreen.xaml", UriKind.Relative));
}
在第二个屏幕中:
protected override void OnNavigatedTo(NavigationEventArgs e)
{
NavigationService.RemoveBackEntry();
}
另一种方法是使用自定义 URI 映射器在调用第一个屏幕时显示第二个屏幕。它有点复杂,但您可以避免现在无用的导航到第一个屏幕。此代码应该只在导航之前调用一次,最好是在 App.xaml.cs 中的应用程序初始化期间:
var mapper = new UriMapper();
int random = new Random().Next(0, 3);
mapper.UriMappings.Add(new UriMapping
{
Uri = new Uri("/FirstScreen.xaml", UriKind.Relative),
MappedUri = new Uri("/SecondScreen.xaml", UriKind.Relative)
});
Application.Current.RootFrame.UriMapper = mapper;