当想要在PicturesLibrary中选择一个图像时,这段代码可以工作:
ImagePath = string.Empty;
FileOpenPicker filePicker = new FileOpenPicker();
filePicker.SuggestedStartLocation = PickerLocationId.**PicturesLibrary**;
filePicker.ViewMode = PickerViewMode.Thumbnail;
// Filter to include a sample subset of file types
filePicker.FileTypeFilter.Clear();
filePicker.FileTypeFilter.Add(".bmp");
filePicker.FileTypeFilter.Add(".png");
filePicker.FileTypeFilter.Add(".jpeg");
filePicker.FileTypeFilter.Add(".jpg");
filePicker.PickSingleFileAndContinue();
view.Activated += viewActivated; 我创建了一个文件夹,其中包含我的应用程序的图像。
所以我想把打开的位置:"PicturesLibrary“改成"myFolder”。
我该怎么做呢?
感谢您的阅读!祝你有美好的一天!
发布于 2015-06-28 23:06:07
".SuggestedStartLocation“在windows phone 8.1中不受支持/不起作用。
对于我的相机应用程序,我使用了以下内容:
清点图片库中的所有文件夹:
string savefolder, selectedfilename;
private async void changefolder_button_click(object sender, RoutedEventArgs e)
{
folderlist_box.Items.Clear();
IReadOnlyList<StorageFolder> folderlist = await KnownFolders.PicturesLibrary.GetFoldersAsync();
string folder_read = "";
foreach (StorageFolder folder in folderlist)
{
if (folder.Name != folder_read)
//Filter duplicate names like "Camera Roll" from libraries on phone and SDCard (if any).
//Which one is used depends on: Settings -> Storage Sense.
{
folder_listbox.Items.Add(folder.Name);
folder_read = folder.Name;
}
}
}选择所需的文件夹:
public void folder_listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
savefolder = folder_listbox.SelectedItem.ToString();
get_files();
}获取图片库子文件夹中的文件:
private async void get_files()
{
file_listbox.Items.Clear();
StorageFolder currentfolder = await KnownFolders.PicturesLibrary.GetFolderAsync(savefolder);
IReadOnlyList<StorageFile> filelist = await currentfolder.GetFilesAsync();
foreach (StorageFile file in filelist)
{
file_listbox.Items.Add(file.Name);
}
}选择文件:
public void file_listbox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
selectedfilename = file_listbox.SelectedItem.ToString();
}发布于 2015-06-29 00:09:22
无论是手机应用程序还是windows商店应用程序,FileOpenPicker都不能被建议到自定义位置。
FileOpenPicker不是为用户访问设备上的所有文件夹而设计的。实际上,我们可以将其视为一种给用户提供访问某些用户感知的位置(如图片库)的机会的方法。默认情况下,应用程序可以访问某些文件系统位置。通过拥有FileOpenPicker或声明功能,您可以访问一些额外的文件系统位置。所以别指望它能像我们之前在windows桌面应用中使用的FileOpenDialog一样工作。
在mcb的答案中,我确实同意的是访问子文件夹(或应用程序的本地存储文件夹)的建议方法,即使用列表来显示文件夹列表或文件列表,以使用户能够访问它。
在mcb的回答中,有一点我是不能同意的,那就是.SuggestedStartLocation在windows phone8.1中不受支持/起作用。事实并非如此,windows phone 8.1应该支持它,但并不是所有的选项都能在手机上运行。
https://stackoverflow.com/questions/31096768
复制相似问题