
using System;

using System.Collections.Generic;

using System.Linq;

using System.Net;

using System.Windows;

using System.Windows.Controls;

using System.Windows.Documents;

using System.Windows.Input;

using System.Windows.Media;

using System.Windows.Media.Animation;

using System.Windows.Shapes;

using System.Windows.Navigation;

using System.IO;

using System.Text;

namespace Silverlight30.Control

{

public partial class SaveFileDialogDemo : Page

{

public SaveFileDialogDemo()

{

InitializeComponent();

}

private void btnSave_Click( object sender, RoutedEventArgs e)

{

/*

* SaveFileDialog - 用户发起的保存文件对话框

* Filter - 指定保存文件的描述信息及文件类型(出现在对话框的“保存类型”下拉列表中)

* DefaultExt - 当指定保存文件类型为 *.* 时的默认扩展名

* FilterIndex - 默认的保存类型在 Filter 中的索引(注意:索引从 1 开始)

* ShowDialog() - 显示保存文件对话框。用户在对话框中单击“保存”则返回 true;单击“取消”或关闭对话框则返回 false

* OpenFile() - 打开用户选择的文件,并返回文件流

*/

SaveFileDialog dialog = new SaveFileDialog();

dialog.Filter = "Text Files|*.txt|Log Files|*.log|All Files|*.*";

dialog.FilterIndex = 1;

bool? result = dialog.ShowDialog();

if (result == true)

{

using (Stream stream = dialog.OpenFile())

{

byte[] info = Encoding.UTF8.GetBytes(txtInfo.Text);

stream.Write(info, 0, info.Length);

}

txtInfo.Text = "";

}

}

private void btnLoad_Click( object sender, RoutedEventArgs e)

{

/*

* OpenFileDialog - 打开文件对话框

* Filter - 同 SaveFileDialog

* FilterIndex - 同 SaveFileDialog

* ShowDialog() - 显示打开文件对话框。用户在对话框中单击“打开”则返回 true;单击“取消”或关闭对话框则返回 false

* File - 返回用户所选择文件的的 FileInfo 对象

* Multiselect - 选择文件时可否多选

* Files - 返回用户所选择文件的的 FileInfo 对象集合

*/

OpenFileDialog dialog = new OpenFileDialog();

dialog.Filter = "Text Files|*.txt";

if (dialog.ShowDialog() == true)

{

using (FileStream fs = dialog.File.OpenRead())

{

byte[] buffer = new byte[fs.Length];

fs.Read(buffer, 0, buffer.Length);

txtInfo.Text = Encoding.UTF8.GetString(buffer, 0, buffer.Length);

}

}

}

}

}