下面的Windows.Storage.StorageFolder folder = await folderPicker.PickSingleFolderAsync();
方法的行MyPickFolderAsync()
应该允许我从默认的Downloads
文件夹中选择一个文件夹,但是在它打开Windows打开文件夹对话框之后(位于{{ 1}}文件夹),对话框在那里挂起(冻结),我无法从Downloads
文件夹中选择子文件夹。我在网上看到过类似的问题(例如this和this),但这些问题似乎与Downloads
的旧版本有关,而;我正在使用最新版本Windows 10
。
那么,我在这里可能会缺少什么,我们该如何解决?该问题似乎与我没有正确使用1809
有关。我尝试使用async/await
的各种方法,但到目前为止都没有成功。更好地了解使用异步方法的人可能会有所帮助。
流程如下:我单击async/await
按钮,该按钮调用BtnTest
,然后依次调用TestAsync()
。我在MyPickFolderAsync()
上使用VS2019
Windows10-ver 1809
答案 0 :(得分:0)
public IAsyncOperation<StorageFolder> PickSingleFolderAsync()
对该方法的调用成功完成后,它将返回一个storageFolder
对象,该对象代表用户选择的文件夹。
如果用户取消操作,则任务完成后,您将获得ErrorCode
,Status
。
由于您从未await the MyPickFolderAsync()
,因此任务处于挂起状态并且无法进行。
private async Task TestAsync()
{
var pickedFolder = await MyPickFolderAsync();
}
答案 1 :(得分:0)
首先感谢用户Eldho帮助我解决了该问题,我们应该give credit where credit's due
。
但是,为了使本文的其他读者受益,“可能”值得一提的是,当我在await
的以下代码行中使用TestAsync()
时遇到以下错误方法(必须更正):
Task<StorageFolder> pickedFolder = MyPickFolderAsync();
在上述调用中使用await
时,出现以下错误:
因此,在读取用户@Eldho
的响应之后,我不得不从上述代码行中删除Task<...>
并将await
添加到该行中(感谢@Eldho
)。