uwp - 在 OnNavigatedTo 中调用 FileOpenPicker 仅适用于 PC 上的 Win 10,但不适用于 Win 10 Mobile
问题描述
在 UWP 应用程序中,我想在导航到页面时提示用户选择文件。
我正在覆盖OnNavigatedTo
页面中的方法并从中调用选择器。它在PC上运行没有问题。但是当我在装有 Windows 10 Mobile (Lumia 640) 的移动设备上运行它时,它就不起作用了!
只是为了测试,如果我调用CameraCaptureUI
而不是FileOpenPicker
,它在 PC 和移动设备上都没有问题!
解决方案
在 OnNavigatedTo 中调用 FileOpenPicker 仅适用于 PC 上的 Win 10,但不适用于 Win 10 Mobile
问题是移动设备是低性能设备。在导航方法之后立即调用选择器将导致设备无响应。因此,您可以在调用 piker 之前添加任务延迟,如下所示
protected async override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
await Task.Delay(100);
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null)
{
}
else
{
}
}
推荐阅读
- c++ - 是否有类似回溯的东西来指示变量到达其当前值的路径?
- laravel - 我不断收到“函数名必须是字符串”错误
- c++11 - 设置矩阵零
- python - Apache Beam - 使用默认触发器生成早期结果的固定窗口
- common-lisp - 如何在 Common Lisp 中进行基于图像的开发?
- sql - 在 GROUP BY 分组中,根据另一列的最高值选择值
- reactjs - 在移动设备上使用 Mapbox GL JS 进行跟踪的问题
- glsl - 格子玻尔兹曼 WebGL 翻译结果到处都是 NaN
- django - 如何使用 Django 进行 URL 屏蔽?
- android - Room/sqlite 数据库锁和隔离级别