0

私のアプリには、MainPage.xamlから移動するページがあります。ACameraCaptureTaskはそのページから起動されます。

ページの読み込み時に、 MainPage.xamlから移動したか、から戻ってきたかをどのように知ることができるかを知りたいですCameraCaptureTask

を使用しNavigationService.BackStack.FirstOrDefault()ても役に立ちません。予想どおり、MainPage.xamlが返されるためです。

次のようなものが欲しいです:

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (/*Navigated-from-MainPage-but-not-from-CameraCaptureTask*/)
    {
        // Do Something
    }
}
4

1 に答える 1

2

これは、2 つの方法のいずれかで実行できます。1 つ目は、 CameraCaptureTaskのCompletedイベントをリッスンすることです。

        CameraCaptureTask task = new CameraCaptureTask();
        task.Completed += new EventHandler<PhotoResult>(OnCaptureTaskCompleted);
        task.Show();

...

    void OnCaptureTaskCompleted(object sender, PhotoResult e)
    {
        // Navigated back or took a picture
    }

2 番目の方法は、NavigationEventArgsNavigationModeを確認することです。値が Back の場合、CameraCaptureTask から戻ったことがわかります (このページが他のページに移動しないと仮定します)。

protected override void OnNavigatedTo(NavigationEventArgs e)
{
    if (e.NavigationMode == NavigationMode.Back)
    {
        // came back from CameraCaptureTask
    }
}
于 2013-07-15T16:24:52.163 に答える