3

次のコードは、 FileOpenPickerクラスの MSDN の例からほぼそのままです。

FileOpenPicker picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add(".png");
picker.FileTypeFilter.Add(".jpg");
picker.FileTypeFilter.Add(".jpeg");

StorageFile file = await picker.PickSingleFileAsync();

ボタンからトリガーすると、最後の行から次の例外が発生します。

System.UnauthorizedAccessException
アクセスが拒否されました。(HRESULT からの例外: 0x80070005 (E_ACCESSDENIED))

この使用法における FileOpenPicker のアイデアは、ユーザーにアクセス許可を求めたり、機能を指定したりする必要がないということだと思いましたか?

4

1 に答える 1

2

への呼び出しの直前にブレークポイントを設定しましたPickSingleFileAsync()。Border 内で TextBlock を押すと、2 つの Tapped イベントが発生していたことが判明しました (両方とも同じ Tapped イベント ハンドラを使用)。

最初の呼び出しは期待どおりに機能しましたが、その後の呼び出しでは UnauthorizedAccessException が発生し、ピッカーが表示された直後に発生していました。

于 2013-03-19T08:01:29.887 に答える