在Silverlight3 Beta,提供了保存文件对话框,通过它我们可以很方便的将文本(包括图片等)信息
保存到指定的本地文件上,当然这是要求一定权限的,所以在启用VS2008时请选择以“管理员身份”运行,
即:
只有这样才不会在稍会的保存文件时,出现权限不足而无法保存的问题。
首先,我们的XAML文件内容如下:
< GrID x:name ="LayoutRoot" Background ="AliceBlue" >
< GrID.RowDeFinitions >
< RowDeFinition Height ="250" />
< RowDeFinition Height ="25" />
< RowDeFinition Height ="25" />
</ GrID.RowDeFinitions >
< TextBox name ="Msg" GrID.Row ="0" Text ="请输入内容" WIDth ="400" Height ="200" FontSize ="16" />
< button name ="Savefile" Content =" 保 存 " GrID.Row ="1" Click ="SavefileClick" FontSize ="14" WIDth ="200" />
< TextBlock name ="filename" GrID.Row ="2" FontSize ="14" />
</ GrID >
而相应的CS代码也非常简单:
{
SavefileDialog sfd = new SavefileDialog()
{
DefaultExt = " txt " ,
Filter = " Text files (*.txt)|*.txt|All files (*.*)|*.* " ,
FilterIndex = 2
};
if (sfd.ShowDialog() == true )
{
filename.Text = " 文件名称: " + sfd.file.name;
using (Stream stream = sfd.Openfile())
{
Byte[] fileContent = System.Text.UTF8EnCoding.UTF8.GetBytes(Msg.Text);
stream.Write(fileContent, 0 , fileContent.Length);
stream.Close();
}
}
}
这样,我们就可以运行来看一下效果了:)
当输入结束后点击保存按钮时,系统会提示保存的文件位置,当点击确定后,上面TextBox中的内容
就被保存到该文件中了。
保存文本时,显示被保存的文件名称。
不过当用户选定本地文件的时候,只能得到这个文件的stream实例,而不是这个文件的路径(通过引用
file.Fullname或file.Directoryname时会报异常)。按官方的解释是:
这样的设计避免了提供一个打开任意路径的本地文件的功能,从而使Silverlight运行在一个更为安全的
环境中。
好了,今天的内容就先到这里了。
源码下载,请点击这里。
以上是内存溢出为你收集整理的快速浏览Silverlight3 Beta:使用SaveFileDialog保存到本地文件全部内容,希望文章能够帮你解决快速浏览Silverlight3 Beta:使用SaveFileDialog保存到本地文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)