在我的WinRT / Windows应用商店应用中,我想允许用户通过FileSavePicker
将文件保存为纯文本或降价文本。
savePicker.FileTypeChoices.Add("Markdown Text", new List<string>() { ".txt" });
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });
但是,FileSavePicker
返回的对象是StorageFile
,它只知道扩展名为.txt
。
如何让用户在具有相同文件扩展名的一堆选项中进行选择?有没有办法做到这一点?
答案 0 :(得分:0)
我认为你不能这样做。正如link所说的那样。 也许您可以在设置窗格中添加一个选项,以使用默认类型。我的意思是: 您添加的默认类型是纯文本。但是用户可以转到设置并更改此内容。
通过这种方式,您可以向用户添加选项,但不要用其他文件保存控件来填充gui
答案 1 :(得分:0)
不直接支持此功能,因为系统仅将每个文件扩展名识别为单一类型。你确实有几个选择。
.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
。遗憾的是,这会在流程中添加一个点击,因此可能并不理想。我个人认为在保存按钮旁边添加一个简单的控件很简单。