У меня нет доступа к этой папке. Я пробовал с Directory.GetFiles (dirPath), и когда я проверяю длину, указанную 0. Эти приложения Windows имеют песочницу.
Да вы правы об этом, в UWP приложения, мы можем получить доступ к локальной папке приложения или какой-либо специальным Lib как Music Library в коде позади, в противном случае мы должны использовать папку/File Picker, чтобы пользователь выберите доступ к папке/файлу.
Я пробовал с Filepicker и Storagefolder, но я не знаю, как получить его в массив строк.
Это правильное направление, и вы можете сделать эту работу, используя StorageFolder.GetFilesAsync метод как это:
private string[] filename;
private async void Button_Click(object sender, RoutedEventArgs e)
{
FolderPicker picker = new FolderPicker();
picker.SuggestedStartLocation = PickerLocationId.ComputerFolder;
picker.FileTypeFilter.Add("*"); //match all the file format
StorageFolder folder = await picker.PickSingleFolderAsync();
if (folder != null)
{
var subFiles = await folder.GetFilesAsync();
filename = new string[subFiles.Count()];
for (int i = 0; i < subFiles.Count(); i++)
{
filename[i] = subFiles.ElementAt(i).DisplayName;
textBlock.Text = textBlock.Text + "+" + filename[i]; //show the file name in a textblock
}
}
}
Использование picker.FileTypeFilter.Add("*")
может сделать матч фильтра всех типов файлов в папке, но эти файлы не будут будет отображаться в интерфейсе выбора.
Добавьте сюда свой существующий код, поэтому нам нужно что-то сделать. – Romain