0

私の WinRT/Windows ストア アプリでは、ユーザーがファイルをプレーン テキストまたはマークダウン テキストとしてFileSavePicker.

savePicker.FileTypeChoices.Add("Markdown Text", new List<string>() { ".txt" });
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });

ただし、 から返されるオブジェクトFileSavePickerは でStorageFileあり、拡張子.txt.

ユーザーが同じファイル拡張子を持つ一連のオプションから選択できるようにするにはどうすればよいですか? これを行う方法はありますか?

4

2 に答える 2

0

システムは各ファイル拡張子を 1 つのタイプとしてしか認識しないため、これは直接サポートされていません。ただし、いくつかのオプションがあります。

  • ファイルの種類ごとに異なるファイルの種類を作成する
  • ファイルの種類ごとに異なるファイルの種類を作成し、.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");

ただし、その名前のファイルが既に存在する場合、警告が表示されないという危険性があるため、必ずしも推奨されるとは限りません。

  • オプションを提供するファイルを保存するために使用するボタンの横にチェックボックス/ドロップダウンを用意します。

これらのうち、1番目または3番目が最も理想的です。それらに違いがある場合は、ファイルシステムで区別するとよいでしょう。それでもそれが望ましくない場合は、ユーザーが保存を選択する前に選択肢を与えることが最善の選択肢です。

編集:@Krekkonのアイデアも良いです。オプションを設定フライアウトに追加することをお勧めします。ただし、オプションが存在することを知らせる必要があります。もう 1 つのオプションは、 、、 のMessageDialog3 つのボタンをポップアップするのようなものを使用することです。残念ながら、これはフローにクリックを追加するため、理想的ではない可能性があります. 個人的には、保存ボタンの横に簡単なコントロールを追加するのは簡単で問題ないと思います。Save as Plain TextSave as MarkupCancel

于 2014-03-03T17:52:21.123 に答える