博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
快速浏览Silverlight3 Beta:使用SaveFileDialog保存到本地文件
阅读量:7204 次
发布时间:2019-06-29

本文共 1467 字,大约阅读时间需要 4 分钟。

在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代码也非常简单:

    

private
 
void
 SaveFileClick(
object
 sender, RoutedEventArgs e)
{
    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运行在一个更为安全的
环境中。

        好了,今天的内容就先到这里了。

本文转自 daizhenjun 51CTO博客,原文链接:http://blog.51cto.com/daizhj/145038,如需转载请自行联系原作者

你可能感兴趣的文章
配置多个视图解析器
查看>>
leetcode 2. Add Two Numbers
查看>>
spring boot + spring data jpa
查看>>
9.22 开课第十九天(window对象)
查看>>
字符串操作总结
查看>>
Python实现批量梯度下降算法
查看>>
超时导致的Galera节点加入集群失败
查看>>
Mongodb学习笔记
查看>>
作业一
查看>>
Oracle 通过数据字典查询系统信息
查看>>
Cnetos 6 / Centos 7 修改主机名
查看>>
UIWebView
查看>>
UIViewController函数调用顺序
查看>>
第三方框架的使用
查看>>
配置Eclipse支持MacBook Pro Retina屏幕的办法(解决Retina屏幕下eclipse字体变虚的问题)...
查看>>
python导包路径的修改
查看>>
C语言第十一次作业--函数嵌套调用
查看>>
hdu 1728 逃离迷宫 *
查看>>
将Word文档转化为HTML格式的文档
查看>>
WCF
查看>>