Salvare un file sul client con SaveFileDialog in Silverlight 3.0

di Alessio Leoncini, in Silverlight 3.0,

Questo script è tratto dal capitolo 17 del libro Silverlight 3.0 - Guida Completa di Daniele Bochicchio, Cristian Civera, Alessio Leoncini e Marco Leoncini.
Acquista subito la tua copia ad un prezzo vantaggioso!
http://books.aspitalia.com/Silverlight-3.0/

All'interno di un'applicazione è molto facile avere esigenze leggermente diverse rispetto a quelle di un sito web multimediale, in cui si dà priorità all'impatto estetico ed al coinvolgimento dell'utente. È consuetudine, infatti, che un'applicazione dia la possibilità all'utente di memorizzare le informazioni che sta elaborando con l'applicazione, anche salvando i dati su file.

Dalla versione 3.0 di Silverlight abbiamo a disposizione l'oggetto SaveFileDialog, con il quale possiamo far scegliere il file di destinazione direttamente sul file system dell'utente, su cui saranno riversati i dati che vogliamo.

Esempio in VB.NET:

Dim _dialog As New SaveFileDialog()
_dialog.Filter = "Tutti i file (*.*)|*.*| File di testo (*.txt)|*.txt"
If _dialog.ShowDialog().Value Then
  Dim _stream As Stream = _dialog.OpenFile()
  Using _wr As New StreamWriter(_stream)
    For Each item In DirectCast(ContactsDataSource.DomainContext, ContactsContext).Contacts
       _wr.WriteLine([String].Format("{0}, {1}", item.FirstName, item.LastName))
    Next
  End Using
End If

Esempio in C#:

SaveFileDialog _dialog = new SaveFileDialog();
_dialog.Filter = "Tutti i file (*.*)|*.*| File di testo (*.txt)|*.txt";
if (_dialog.ShowDialog().Value)
{
  Stream _stream = _dialog.OpenFile();
  using ( StreamWriter _wr = new StreamWriter(_stream))
  {
    foreach (var item in ((ContactsContext)ContactsDataSource.DomainContext).Contacts)
    {
      _wr.WriteLine(String.Format("{0}, {1}", item.FirstName, item.LastName));
    }
  }
}

Nell'esempio abbiamo coinvolto i dati gestiti da un data source per salvare una serie di record su un semplice file di testo.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Nessuna risorsa collegata

I più letti di oggi