101 votes

Comment puis-je afficher une boîte de dialogue Enregistrer sous dans WPF?

J'ai une exigence dans WPF/C#, cliquez sur un bouton, rassembler des données et ensuite le mettre dans un fichier texte que l'utilisateur peut télécharger sur leur ordinateur. Je peux obtenir la première moitié de cela, mais comment faites-vous inviter un utilisateur avec un "Enregistrer sous" boîte de dialogue? Le fichier lui-même sera un simple fichier texte.

193voto

Aaron McIver Points 16766

Les deux réponses à ce jour lien vers le Silverlight SaveFileDialogde la classe; le WPF variante est un peu différent et les divergences d'espace de noms.

Microsoft.Win32.SaveFileDialog dlg = new Microsoft.Win32.SaveFileDialog();
dlg.FileName = "Document"; // Default file name
dlg.DefaultExt = ".text"; // Default file extension
dlg.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension

// Show save file dialog box
Nullable<bool> result = dlg.ShowDialog();

// Process save file dialog box results
if (result == true)
{
    // Save document
    string filename = dlg.FileName;
}

22voto

SaveFileDialog est dans le Microsoft.Win32 espace de noms pourraient vous faire économiser de l'10 minutes, il m'a fallu pour comprendre cela.

18voto

RQDQ Points 8896

Voici un exemple de code:

string fileText = "Your output text";

SaveFileDialog dialog = new SaveFileDialog()
{
    Filter = "Text Files(*.txt)|*.txt|All(*.*)|*"
};

if (dialog.ShowDialog() == true)
{
     File.WriteAllText(dialog.FileName, fileText);
}

3voto

Daniel Hilgarth Points 90722

Utiliser l' SaveFileDialog classe.

1voto

Twelve47 Points 2682

Vous avez juste besoin de créer un SaveFileDialog, et appeler sa méthode ShowDialog.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X