调用OnNavigatedTo中的FileOpenPicker仅在PC上的Win 10上有效,而在Win 10 Mobile上不可用

问题描述 投票:0回答:1

在UWP App中,当导航到页面时,我想提示用户选择文件。

我将重写页面中的方法OnNavigatedTo,并从中调用选择器。它可以在PC上正常工作。但是,当我在装有Windows 10移动版(Lumia 640)的移动设备上运行它时,它不起作用!

只是测试,如果我叫CameraCaptureUI而不是FileOpenPicker,则在PC和Mobile上都可以正常工作!

uwp win-universal-app windows-10-universal
1个回答
0
投票

在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
    {

    }

}
© www.soinside.com 2019 - 2024. All rights reserved.