c# - FileOpenPicker PickSingleFileAsync 抛出 UnauthorizedAccessException

标签 c# windows-8 microsoft-metro windows-runtime

下面的代码几乎是原样来自 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
Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

我认为 FileOpenPicker 在这种用法中的想法是我不需要向用户询问访问权限或指定任何功能?

最佳答案

我在调用 PickSingleFileAsync() 之前设置了一个断点。事实证明,在 Border 内按下 TextBlock 时会触发两个点击事件(均具有相同的 Tapped 事件处理程序)。

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

关于c# - FileOpenPicker PickSingleFileAsync 抛出 UnauthorizedAccessException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15493455/

相关文章:

windows-8 - Win8热角越来越大?

windows-8 - 导航在 WinJS 中无法按预期工作

c# - 如何在不使用 Rx 框架的情况下限制事件的速度

c# - WPF 中的 Metro 风格进度条

c# - XAML 绑定(bind)到属性

c# - Convert.ChangeType 为可为空的 int 引发无效的强制转换异常

C# 音频到网络服务器 UDP

c# - 使用 Linq 创建对象列表与创建字典的性能比较?

c# - 类似于 URL 路由的 StackOverflow

javascript - Windows 8 Metro 打开本地文件 (.html)