Are you connecting to the completed event method of your asynchronous method call? See This
http://www.silverlightshow.net/items/Using-the-SaveFileDialog-in-Silverlight-3.aspx
Inside the callback method, you can implement the logic for writing to a file - first by opening a dialog, and then receiving a pointer to the file stream, as shown below.
try { byte[] fileBytes = //your bytes here SaveFileDialog dialog=new SaveFileDialog(); //Show the dialog bool? dialogResult = this.dialog.ShowDialog(); if (dialogResult!=true) return; //Get the file stream using ( Stream fs = ( Stream )this.dialog.OpenFile() ) { fs.Write( fileBytes, 0, fileBytes.Length ); fs.Close(); //File successfully saved } } catch ( Exception ex ) { //inspect ex.Message }
source share