0

次のコードを使用して、WinRT デバイスからファイルのリストを取得しようとしています。

var フォルダー = KnownFolders.DocumentsLibrary;

var items = await folder.GetItemsAsync();

これにより、フォルダとファイルのリストが返されます。問題は、ファイル リストに、Package.appxmanifest に追加した拡張子のファイルのみが含まれていることです。

すべてのファイルを取得する方法はありますか? お気に入り * 。* ?

4

1 に答える 1

2

直接的な方法はないと思います。この記事によると、画像、音楽、ビデオライブラリでは実行できますが、ドキュメントライブラリでは実行できません。

この場所でアプリがアクセスできる特定のファイルタイプを宣言するファイルタイプの関連付けをアプリマニフェストに追加する必要があります。

ただし、ユーザーにフォルダを選択FolderPickerさせると、すべてのアイテムにアクセスできるようになります。

var picker = new FolderPicker();
picker.FileTypeFilter.Add(".txt");
var folder = await picker.PickSingleFolderAsync();
var items = await folder.GetItemsAsync();

ユーザーがそれを行うのは1回だけで十分です。次に、フォルダを追加して、FutureAccessList返されたトークンを保存できます。

var token = StorageApplicationPermissions.FutureAccessList.Add(folder);

ユーザーが次回アプリを実行するときに、トークンを使用してフォルダーへのアクセスを再度取得できます。

folder = await StorageApplicationPermissions.FutureAccessList.GetFolderAsync(token);
var items = await folder.GetItemsAsync();
于 2013-03-13T06:17:31.263 に答える