0

位置追跡を開発しようとしています。このアプリでは、最初のユーザーがメイン画面を開きます。次に、2 番目の画面に移動するアプリを実行することを選択します。その後、バックグラウンドでも動作します。これで、ユーザーがアプリを開くと、最初の画面ではなく、2 番目の画面に直接転送されます。どのように?任意の提案、pls はそれらを投稿します。
//コード

 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

最も簡単な方法 (私が思うに) は、最初の画面をロードするときに、2 番目の画面にリダイレクトしてから、バックスタックからページを削除することです。

最初の画面で:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    NavigationService.Navigate(new Uri("/SecondScreen.xaml", UriKind.Relative));
}

2 番目の画面で:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    NavigationService.RemoveBackEntry();
}

もう 1 つの方法は、カスタム URI マッパーを使用して、最初の画面が呼び出されたときに 2 番目の画面を表示することです。もう少し複雑ですが、最初の画面への不要なナビゲーションを回避できます。このコードは、ナビゲーションの前に、理想的には App.xaml.cs でのアプリケーションの初期化中に 1 回だけ呼び出す必要があります。

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 に答える