快捷搜索:

【Silverlight 5新特性】10、浏览器模式下内嵌HTML及

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

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

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

•键名: AllowElevatedTrustAppsInBrowser

•键类型: DWORD

•键值: 0x00000000 (disabled) or 0x00000001 (enabled)

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

HKEY_LOCAL_MACHINESoftwareMicrosoftSilverlight (for 32-bit) or

HKEY_LOCAL_MACHINESoftwareWow6432NodeMicrosoftSilverlight (for 64-bit)

二、将XAP包署名设置XAP包是可托任的利用法度榜样

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

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

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

4.安装署名证书成功

三、提升相信级别

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

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

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

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

private void button1_Click(object sender, RoutedEventArgs e)

{

//造访百度

this.webBrowser1.Source = new Uri("http://www.baidu.com/",

UriKind.RelativeOrAbsolute);

}

private void button2_Click(object sender, RoutedEventArgs e)

{

//打开一个记事本文件

dynamic cmd = AutomationFactory.CreateObject("WScript.Shell");

cmd.Run(@"c:windowsnotepad.exe", 1, true);

}

Random _rnd = new Random();

private void button3_Click(object sender, RoutedEventArgs e)

{

// 创建一个文件寄放路径

var tempDirectory = @"c:temp";

if (!Directory.Exists(tempDirectory))

{

Directory.CreateDirectory(tempDirectory);

}

// 创建文件全名

var filename = string.Format("tempFile-{0}.txt", _rnd.Next(0, 65536));

var fullPath = System.IO.Path.Combine(tempDirectory, filename);

// 写入一个新的文件

using (FileStream fs = File.Create(fullPath))

using (StreamWriter sr = new StreamWriter(fs, Encoding.UTF8))

{

sr.WriteLine("这是一个可被相信的XAP文件");

}

// 看护用户

MessageBox.Show("文件已经创建成功");

}

着末我们来看点击三个按钮的效果分手如下面三图:

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

您可能还会对下面的文章感兴趣: