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()。事实证明,在边框内按下 TextBlock 时会触发两个点击事件(两者都具有相同的 Tapped 事件处理程序)。

第一次调用按预期工作,但随后的调用导致 UnauthorizedAccessException 并且会在选择器显示后立即发生。

于 2013-03-19T08:01:29.887 回答