Пример #1
0
        /// <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;
        }
Пример #2
0
        /// <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;
        }