前回はファイルを選択するFilePickerの使い方を紹介しました。
今回はちょっと発展させて複数ファイルを選択する方法を紹介します。
ファイル選択のウィンドウを表示するコードは以下、
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.List;
openPicker.SuggestedStartLocation = PickerLocationId.DocumentsLibrary;
openPicker.FileTypeFilter.Add("*");
IReadOnlyList<StorageFile> files = await openPicker.PickMultipleFilesAsync();
前回と似ていますが、最後に利用しているのがPickMultipleFilesAsyncという複数ファイルを選択できるメソッドです。
画像のように複数選択が可能です。
引数の型はIReadOnlyList<StorageFile>見慣れないクラスですね。
選択したファイルをListBoxに渡してリスト表示する簡単なサンプルが以下、
List<Image> list = new List<Image>();
foreach (StorageFile file in files)
{
//Scenario2FileName.Text += file.Name + "\n";
System.Diagnostics.Debug.WriteLine(file.Name);
var stream = await file.OpenAsync(Windows.Storage.FileAccessMode.Read);
BitmapImage image = new BitmapImage();
image.SetSource(stream);
Image img = new Image();
img.Height = 240;
img.Width = 240;
img.Source = image;
// FileImageはXAMLで定義されたコントロール
list.Add(img);
}
実行可能なサンプルは以下。
Please give us your valuable comment