0
private void Gallery_Click(object sender, object e)
{
    view = CoreApplication.GetCurrentView();
    var filePicker = new FileOpenPicker
    {
        SuggestedStartLocation = PickerLocationId.PicturesLibrary,
        ViewMode = PickerViewMode.Thumbnail
    };

    // Filter to include a sample subset of file types
    filePicker.FileTypeFilter.Clear();
    filePicker.FileTypeFilter.Add(".bmp");
    filePicker.FileTypeFilter.Add(".png");
    filePicker.FileTypeFilter.Add(".jpeg");
    filePicker.FileTypeFilter.Add(".jpg");

    mediaCapture.StopPreviewAsync();

    filePicker.PickSingleFileAndContinue();
    view.Activated += ViewActivated;
}

private async void ViewActivated(CoreApplicationView sender, IActivatedEventArgs args)
{
    var arguments = args as FileOpenPickerContinuationEventArgs;

    if (arguments != null && arguments.Files.Count != 0)
    {
        view.Activated -= ViewActivated;
        var storageFile = arguments.Files[0];

        var file =
            await
                ApplicationData.Current.LocalFolder.CreateFileAsync("Photo.jpg",
                    CreationCollisionOption.GenerateUniqueName);
        await storageFile.CopyAndReplaceAsync(file);

        var bmpImage = new BitmapImage(new Uri(file.Path));

        UseThePhoto(bmpImage);                
    }
    else
        await mediaCapture.StartPreviewAsync();

}

上記のコードがあります。ギャラリーから画像を選択すると、同じページにある画像コントロールで使用できます。ただし、他のページに移動したい場合は、エラーが発生します。そこからの詳細はありません。コードは App.gics で終わります

4

1 に答える 1

0

問題が解決しました。白紙のページテンプレートではなく、基本ページを使用していました。そして、何らかの理由で OnNavigatedFrom メソッドがこのエラーを呼び出したので、オーバーライドを作成して空にしたため、ナビゲーション ヘルパー クラスを呼び出すことができませんでした。

于 2016-04-18T12:02:29.933 に答える