Guillaume André

Apprentissage, étude et approfondissement des nouvelles technologies

23 Mar, 2009

Silverlight 3 : Save File Dialog

Posted by: Guillaume Andre In: Silverlight

Silverlight 3 permet à présent d’enregistrer des fichiers sur la machine cliente. En effet, la classe SaveFileDialog permet via la méthode ShowDialog d’afficher la fenêtre “Enregistrer sous” propre à votre système d’exploitation. Cette fonctionnalité est bien entendu sécurisée car elle nécessite l’action de l’utilisateur. Utilisateur <=> Sécurité ? Bon ok soit… Via la propriété Filter il est d’ailleurs possible de spécifier l’extension du fichier sauvegardé adéquate.

Save File Dialog en vidéo


View on Vimeo.

Côté code C# :

private void btnSave_Click(object sender, RoutedEventArgs e)
{
     SaveFileDialog mySaveDialog = new SaveFileDialog();
     mySaveDialog.Filter = "Text Files (.txt)|*.txt|All Files|*.*";
     bool? ret = mySaveDialog.ShowDialog();
     if (ret == true)
     {
          using (Stream fs = (Stream)mySaveDialog.OpenFile())
          {
               byte[] info = (new UTF8Encoding(true)).GetBytes(tbTest.Text);
               fs.Write(info, 0, info.Length);
               fs.Close();
          }
     }
}

Cela ouvre les portes à de nouveaux scénario. Vous allez pouvoir sauvegarder des DataGrid au format Excel, sauvegarder des images pourquoi pas modifiée (faut-il le coder),… au sein de vos applications Silverlight. En couplant cette fonctionnalité au mode déconnecté cela enrichi réellement les méthodes d’usage de Silverlight.

EDIT : Si vous rencontrez des problèmes lors de la sauvegarde d’un fichier et que l’exception IOException : “The directory name is invalid” je vous invite à faire un tour sur les forums officiels : http://silverlight.net/forums/t/84656.aspx

1 Response to "Silverlight 3 : Save File Dialog"

Comments are closed.