如何使用FileOpenPicker打开“新文件对话框”? (UWP)

时间:2018-01-04 02:41:30

标签: c# uwp

我这样编码,

但是,这仅支持现有文件。

我想要'新文件对话',这意味着它可以通过输入不存在的文件名来获取路径。

class AccountController extends Controller

2 个答案:

答案 0 :(得分:2)

我认为您正在寻找FileSavePicker而不是FileOpenPicker

语法非常相似:

StorageFile file = await savePicker.PickSaveFileAsync();

答案 1 :(得分:1)

您是否有理由不想使用FileSavePicker课程。以下是MSDN文档中的示例

var savePicker = new Windows.Storage.Pickers.FileSavePicker();
savePicker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.DocumentsLibrary;
// Dropdown of file types the user can save the file as
savePicker.FileTypeChoices.Add("Plain Text", new List<string>() { ".txt" });
// Default file name if the user does not type one in or select a file to replace
savePicker.SuggestedFileName = "New Document";
Windows.Storage.StorageFile file = await savePicker.PickSaveFileAsync();
if (file != null)
{
    // Prevent updates to the remote version of the file until
    // we finish making changes and call CompleteUpdatesAsync.
    Windows.Storage.CachedFileManager.DeferUpdates(file);
    // write to file
    await Windows.Storage.FileIO.WriteTextAsync(file, file.Name);
    // Let Windows know that we're finished changing the file so
    // the other app can update the remote version of the file.
    // Completing updates may require Windows to ask for user input.
    Windows.Storage.Provider.FileUpdateStatus status = await Windows.Storage.CachedFileManager.CompleteUpdatesAsync(file);
    if (status == Windows.Storage.Provider.FileUpdateStatus.Complete)
    {
        this.textBlock.Text = "File " + file.Name + " was saved.";
    }
    else
    {
        this.textBlock.Text = "File " + file.Name + " couldn't be saved.";
    }
}
else
{
    this.textBlock.Text = "Operation cancelled.";
}