0

我正在尝试开发位置跟踪。在这个应用程序中,第一个用户打开主屏幕。然后他选择运行导航到第二个屏幕的应用程序。然后它也可以在后台运行。现在,如果用户打开应用程序,他应该直接转到第二个屏幕,而不是再次转到第一个屏幕。如何?任何建议,请发表。
//代码

 private void Timer_Tick(object sender, EventArgs e)
        {  TimeSpan runTime = TimeSpan.FromMilliseconds(System.Environment.TickCount - _startTime);
    timeLabel.Text = runTime.ToString(@"hh\:mm\:ss");
        }
4

1 回答 1

1

最简单的方法(我认为)是,在加载第一个屏幕时,重定向到第二个屏幕,然后从后台删除页面。

在第一个屏幕中:

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;
于 2013-06-21T15:15:03.317 回答