的SuggestedStartLocation与ActualStartLocation

设置文件夹以打开FileOpenPicker时,UWP中没有ActualStartLocation这样的东西,这是我提出问题的原因.有一个SuggestedStartLocation,但是Microsoft site明确指出:

“ SuggestedStartLocation并不总是用作文件选择器的开始位置.为了给用户带来一致性的感觉,文件选择器会记住用户导航到的最后一个位置,通常会从该位置开始.”

SuggestedStartLocation会记住您所在的位置,并每次都继续打开相同的文件夹.例如,将此代码添加到UWP项目中的按钮单击事件中:

FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".jpg");
StorageFile file = await openPicker.PickSingleFileAsync();
if (file != null) {
    TextBlock1.Text = "Selected Photo: " + file.Name;
} else {
    TextBlock1.Text = "Operation cancelled.";
}

现在运行程序并选择一张图片.

关闭程序,将代码更改为使用MusicLibrary而不是PicturesLibrary.

再次运行该程序,然后单击按钮,即使您要求看音乐,您也将返回到PicturesLibrary.

有没有一种方法可以覆盖此问题,并强制将文件选择器启动的位置? (即:ActualStartLocation)

我正在尝试制作一个用户在其中选择图片和音乐文件的应用程序,如果图片选择器始终在图片文件夹中打开,并且音乐选择器始终在音乐文件夹中打开,那就太好了.

解决方法:

如您所知,这是设计使然.

“The SuggestedStartLocation is not always used as the start location for the file picker. To give the user a sense of consistency, the file picker remembers the last location that the user navigated to and will generally start at that location.”

当您使用FileOpenPicker拾取文件时,PickerHost.exe将被午餐. PickerHost是一个系统应用程序.它将记录您访问过的最新位置.您无法在应用程序中更改记录.当前,没有这样的“ ActualStartLocation”属性可以实现所需的效果.如果您确实需要此功能,欢迎致电UserVoice询问.

上一篇:[UWP]使用GetAlphaMask制作阴影


下一篇:2019-11-29-win10-uwp-列表模板选择器