MetroStyleApp入門 vol2.複数ファイルの操作

金曜日 , 30, 3月 2012 Leave a comment

 前回はファイルを選択する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);

                    }

 

 

 

実行可能なサンプルは以下。

MultiFilePickerSample


Please give us your valuable comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です