在我的UWP应用程序中,我有以下代码:
private async void testButton_Click(object sender, RoutedEventArgs e)
{
var picker = new Windows.Storage.Pickers.FolderPicker();
StorageFolder folder = await picker.PickSingleFolderAsync();
}
但是当我运行它时,它在第二行失败并显示消息An exception of type 'System.Runtime.InteropServices.COMException' occurred in .... but was not handled in user code
。来自例外的HRESULT是-2147467259 = 0x80004005 = E_FAIL。
我已经在应用程序的其他位置使用文件选择器而没有任何问题。这是在Win10桌面上运行(从VS2015启动)。任何人都可以建议为什么错误发生和/或如何解决它?在看似最简单的代码中出现无意义的错误消息,我不确定如何继续。
答案 0 :(得分:3)
这在WinRT中有点奇怪。虽然文档中没有明确提及,但有必要在FileTypeFilter
集合中添加至少一个项目:
var folderPicker = new FolderPicker();
folderPicker.FileTypeFilter.Add("*");
await folderPicker.PickSingleFolderAsync();
您可以使用".jpg"
之类的特定扩展程序,但它似乎无法在FolderPicker
中生效。唯一重要的是至少存在一个有效项目。