Silverlight SaveFileDialog.SelectedFile? - PullRequest
       8

Silverlight SaveFileDialog.SelectedFile?

0 голосов
/ 23 ноября 2010

Я работаю в Silverlight над диалогом обработки исключений.Когда выдается исключение, появляется диалоговое окно с информацией об ошибке и кнопкой, которая позволяет пользователю сохранить журнал ошибок и отправить его разработчику.Когда пользователь нажимает кнопку Save Error Log, всплывает SaveFileDialog и позволяет пользователю просмотреть, куда он хочет сохранить файл.

Как получить полный путь (например, C:\Folder\logfile.log) выбранного файла?Свойство SafeFileName дает мне только имя файла (например, logfile.log).

1 Ответ

3 голосов
/ 23 ноября 2010

Вы не можете получить полный путь в приложении SL из-за того, что находитесь в песочнице.Однако вы можете сделать это в WPF, поскольку у вас есть полный доступ к этому моменту.

Это не значит, что вы не можете сохранить файл в заданном месте с помощью открытой Stream.Полный пример здесь .

            try 
            {  
                byte[] fileBytes = e.Result as byte[];  

                using ( Stream fs = (Stream)this.dialog.OpenFile() )  
                {  
                    fs.Write( fileBytes, 0, fileBytes.Length );  
                    fs.Close();  

                    this.tblError.Text = "File successfully saved!";  
                }  
            }  
            catch ( Exception ex )  
            {  
                this.tblError.Text = "Error getting result: " + ex.Message;  
            }  
...