public void Execute(object parameter) { _canExecute = false; var flvm = (FolderListVM)parameter; var fs = new FileServiceClient(); var dialog = new SaveFileDialog(); string ext =Path.GetExtension(flvm.SelectedFile); dialog.Filter = "*" + ext + "|*" + ext; // dialog.DefaultFileName = flvm.SelectedFile; bool? filesel = dialog.ShowDialog(); fs.GetFileCompleted += (sender, args) => { if (filesel.Value == true) { using (var stream = dialog.OpenFile()) { var b = args.Result; stream.Write(b, 0, b.Length); stream.Close(); } } }; fs.GetFileAsync(Path.Combine(flvm.ClientRepository, flvm.SelectedFolder) + "\\" + flvm.SelectedFile); _canExecute = true; }