/// <summary> /// 選択されたアイテムを外部ファイルに保存する. /// </summary> /// <returns></returns> private async Task ExportItemsAsync() { var items = GetSelectedItems(); if (items == null) { return; } var picker = new Windows.Storage.Pickers.FileSavePicker(); picker.FileTypeChoices.Add("zip", new string[] { ".zip" }); var file = await picker.PickSaveFileAsync(); if (file == null) { return; } this.ItemsChanging = true; using (var zipArchive = await ZipArchiveHelper.CreateZipArchiveFromFileAsync(file, System.IO.Compression.ZipArchiveMode.Create)) { foreach (var item in items) { await item.ExportAsync(zipArchive); } } this.ItemsChanging = false; }
/// <summary> /// 外部ファイルに保存されたアイテムを読み込む. /// </summary> /// <returns></returns> private async Task ImportItemsAsync() { var picker = new Windows.Storage.Pickers.FileOpenPicker(); picker.FileTypeFilter.Add(".zip"); var file = await picker.PickSingleFileAsync(); if (file == null) { return; } this.ItemsChanging = true; using (var zipArchive = await ZipArchiveHelper.CreateZipArchiveFromFileAsync(file, System.IO.Compression.ZipArchiveMode.Read)) { await CanvasItem.ImportAsync(zipArchive); } this.ItemsChanging = false; }