Предлагая несколько типов файлов с одинаковым расширением через FileSavePicker
В моем приложении WinRT / Windows Store я хочу разрешить пользователю сохранять файл в виде обычного текста или текста уценки через FileSavePicker
,
savePicker.FileTypeChoices.Add("Markdown Text", new List<string>() { ".txt" });
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });
Тем не менее, возвращенный объект из FileSavePicker
это StorageFile
и все, что он знает, это расширение, .txt
,
Как мне разрешить пользователю выбирать между кучей опций с одинаковым расширением файла? Есть ли способ сделать это?
2 ответа
Это не поддерживается напрямую, потому что система распознает только каждое расширение файла как один тип. У вас есть несколько вариантов, хотя.
- Создать разные типы файлов для каждого типа файлов
- Создайте отдельный тип файла для каждого типа файла, затем переименуйте файл в
.txt
после того, как они выбрали это.
Пример:
savePicker.FileTypeChoices.Add("Markdown Text", new List<string>() { ".mtxt" });
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".ptxt" });
var file = await savePicker.PickSaveFileAsync();
await file.RenameAsync(file.DisplayName + ".txt");
Это создает опасность того, что он не предупредит их, если у них уже есть файл с таким именем, поэтому это не обязательно предлагается.
- Установите флажок / раскрывающийся список рядом с кнопкой, которую вы используете для сохранения файла, который предоставляет эту опцию.
Из них первый или третий являются наиболее идеальными. Если между ними есть разница, было бы хорошо разграничить их в файловой системе. Если это по-прежнему нежелательно, тогда лучше всего дать им возможность выбрать вариант сохранения.
Редактировать: идея @Krekkon также хороша. Добавление опции во всплывающее окно настроек - хорошая идея. Вам нужно будет сообщить им, что опция существует. Другой вариант - использовать что-то вроде MessageDialog
который выскакивает три кнопки: Save as Plain Text
, Save as Markup
, Cancel
, К сожалению, это добавит клик в поток, поэтому может быть не идеальным. Лично я думаю, что добавить простой элемент управления рядом с кнопкой сохранения просто и хорошо.
Я думаю, что вы не можете сделать это. Как говорит ссылка тоже. Возможно, вы можете добавить опцию в панели настроек, чтобы использовать тип по умолчанию. Я имею в виду: вы добавляете тип по умолчанию - простой текст. Но пользователь может перейти к настройкам и изменить эту вещь.
Таким образом, вы добавляете опцию к своим пользователям, но не заполняете графический интерфейс другим элементом управления сохранением файлов.