Silverlight 5 beta新特性探索系列:10.浏览器模式下内嵌HTML+浏览器模式下创建txt文本文件

简介:

    在Silverlight 5 beta版本中,已经支持浏览器模式(in-browser)模式下使用WebBrowser控件访问网页和在浏览器模式下创建txt文本文件。当然想要获得这个功能有三个条件在注册表内添加一个新的键、设置XAP签名(如果是在本地http://localhost:做测试时可以不需要这两个条件)和提升信任级别。

        第一、在注册表内添加一个新的键AllowElevatedTrustAppsInBrowser

        其名为AllowElevatedTrustAppsInBrowser,DWORD类型,值为1。设置Silverlight允许访问一些本地资源。


 
 
  1. •键名: AllowElevatedTrustAppsInBrowser 
  2. •键类型: DWORD 
  3. •键值: 0x00000000 (disabled) or 0x00000001 (enabled) 

        其键注册位置在32位系统和64位系统中不一样的,下面请看:


 
 
  1. HKEY_LOCAL_MACHINE\Software\Microsoft\Silverlight\ (for 32-bitor 
  2. HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Silverlight (for 64-bit)  

        二、将XAP包签名设置XAP包是可信任的应用程序

        1.右键点击Silverlight项目-->属性-->签名-->点击选中“为Xap文件签名”-->点击“创建测试证书”。如下图所示:


 

        2.安装证书:在上图中点击“更多详细信息”-->“安装证书(I)”。如下图:

        3.在弹出的“证书导入向导”窗口中选中“将所有的证书放入下列存储区”--在弹出的“选中证书存储”窗口中,选择“受信任的根证书颁发机构”。如下图:

        4.安装签名证书成功

        三、提升信任级别

        首先我们设置Silverlight的OOB模式提升信任级别如下:

        在这里我们提升了OOB模式的信任级别,此时项目会自动设置从Silverlight项目启动如左图,我们需要手动设置从Web项目启动,如右图:

 

        最后我们来看本篇文章的实例Demo代码,首先看MainPage.xaml代码如下:

 


 
 
  1. <Grid x:Name="LayoutRoot" Background="White"
  2.     <WebBrowser Height="463" HorizontalAlignment="Left"  Margin="0,137,0,0" 
  3.                 Name="webBrowser1" VerticalAlignment="Top" Width="800" /> 
  4.     <Button Content="加载百度" Height="39" HorizontalAlignment="Left" 
  5.             Margin="25,58,0,0" Name="button1" VerticalAlignment="Top" 
  6.             Width="141" Click="button1_Click" /> 
  7.     <Button Content="打开写字本" Height="39" HorizontalAlignment="Left" 
  8.             Margin="314,58,0,0" Name="button2" VerticalAlignment="Top" 
  9.             Width="141" Click="button2_Click" /> 
  10.     <Button Content="创建文件" Height="39" HorizontalAlignment="Left" 
  11.             Margin="626,58,0,0" Name="button3" VerticalAlignment="Top" 
  12.             Width="141" Click="button3_Click" /> 
  13. </Grid> 

        接着我们来看CS代码如下:

 


 
 
  1. private void button1_Click(object sender, RoutedEventArgs e) 
  2. //访问百度 
  3. this.webBrowser1.Source = new Uri("http://www.baidu.com/"
  4. UriKind.RelativeOrAbsolute); 
  5.  
  6. private void button2_Click(object sender, RoutedEventArgs e) 
  7. //打开一个记事本文件 
  8. dynamic cmd = AutomationFactory.CreateObject("WScript.Shell"); 
  9. cmd.Run(@"c:\windows\notepad.exe", 1, true); 
  10. Random _rnd = new Random(); 
  11. private void button3_Click(object sender, RoutedEventArgs e) 
  12. // 创建一个文件存放路径 
  13. var tempDirectory = @"c:\temp"
  14. if (!Directory.Exists(tempDirectory)) 
  15. Directory.CreateDirectory(tempDirectory); 
  16.  
  17. // 创建文件全名 
  18. var filename = string.Format("tempFile-{0}.txt", _rnd.Next(0, 65536)); 
  19. var fullPath = System.IO.Path.Combine(tempDirectory, filename); 
  20.  
  21. // 写入一个新的文件 
  22. using (FileStream fs = File.Create(fullPath)) 
  23. using (StreamWriter sr = new StreamWriter(fs, Encoding.UTF8)) 
  24. sr.WriteLine("这是一个可被信任的XAP文件"); 
  25.  
  26. // 通知用户 
  27. MessageBox.Show("文件已经创建成功"); 
  28.  

        最后我们来看点击三个按钮的效果分别如下面三图:

       本实例采用VS2010+Silverlight 5 beta编写,如需源码请点击 SL5Trusted.zip 下载。



本文转自程兴亮 51CTO博客,原文链接:http://blog.51cto.com/chengxingliang/826427

相关文章
|
14天前
|
存储 移动开发 前端开发
html5有哪些新特性?
【10月更文挑战第19天】
|
5月前
|
Web App开发
在HTML中用meta控制浏览器默认模式
在HTML文档的`&lt;head&gt;`标签中,通过添加不同的`&lt;meta&gt;`标签可指定浏览器默认使用的内核。使用`&lt;meta name=&quot;renderer&quot; content=&quot;webkit&quot;&gt;
79 1
|
5月前
|
Web App开发 移动开发 JavaScript
基于VML与HTML5 Canva实现的跨浏览器饼图与折线图
基于VML与HTML5 Canva实现的跨浏览器饼图与折线图
36 5
|
2月前
|
Web App开发 存储 移动开发
前端基础(十七)_HTML5新特性
本文概述了HTML5的关键新特性,包括canvas图形绘制、多媒体的`video`和`audio`元素、本地存储功能、语义化标签(如`header`、`footer`、`nav`等)及其新增表单控件和属性(如`url`、`email`、`date`类型输入框等)。这些改进增强了网页的功能性和用户体验。
39 1
前端基础(十七)_HTML5新特性
|
14天前
|
存储 移动开发 前端开发
|
2月前
|
存储 移动开发 API
HTML5的新特性
HTML5引入了众多新特性和增强功能,简化并强化了网页开发。新增结构元素如`&lt;header&gt;`、`&lt;footer&gt;`、`&lt;article&gt;`等使页面布局更清晰;表单增强支持更多输入类型及属性;内置音频视频播放无需插件;`&lt;canvas&gt;`与SVG支持提升了图形处理能力;Geolocation API和Web存储改善了用户体验;离线应用、拖放功能及Web Workers则进一步提升了网页应用的实用性和交互性。HTML5令网页开发更为现代化,为开发者提供了丰富的工具集。
|
3月前
|
存储 移动开发 前端开发
HTML5时代来临,这些新特性你掌握了吗?一篇文章带你玩转Web前端技术潮流!
【8月更文挑战第26天】HTML5(简称H5)作为新一代Web标准,相比HTML4带来了诸多增强功能。
57 2
|
3月前
|
存储 移动开发 前端开发
HTML5 的新特性
【8月更文挑战第24天】
58 0
|
3月前
|
移动开发 UED HTML5
HTML5新特性概览——揭秘志愿填报的智慧之选
HTML5新特性概览——揭秘志愿填报的智慧之选
|
4月前
|
JavaScript 前端开发 物联网
文本,Vue实现打印的方式,打印机的种类有多少,浏览器打印html,右键,2打印插件,3指令打印,vue-print-nb
文本,Vue实现打印的方式,打印机的种类有多少,浏览器打印html,右键,2打印插件,3指令打印,vue-print-nb

热门文章

最新文章