在全屏模式在Silverlight 4 支持键盘输入

1)在浏览器里面,需要设定当前Active X的为可信任的站点,这样全屏就可以支持键盘了。

In Silverlight 4, we have keyboard support.在Silverlight 4中,我们有键盘的支持。In this article we will explore about it.在这篇文章中我们将探讨一下。

Creating Silverlight Project创建Silverlight项目

Fire up Visual Studio 2010 and create a new Silverlight Application Project.启动Visual Studio 2010和创建一个新的Silverlight应用程序项目。Name it asFullScreenSupportSample .名称FullScreenSupportSample它。

Let's make it as User login screen, so we need a TextBox and a Passwordbox.让我们以用户身份登录屏幕上,所以我们需要一个TextBox和一个PasswordBox的。And have button that would make the Toggle between Fullscreen On/Off.并有按钮,将全屏之间进行开/关的切换。

The following is the design for it.以下是它的设计。

Let's write code for FullScreen on or off.让我们写全屏幕或关闭代码。

Let's test the application.让我们来测试应用程序。Yes, we are able to switch to FullScreen and Normal mode.是的,我们可以切换到全屏和普通模式。But still we cannot have the keyboard input in the respective TextBox or PasswordBox.但我们仍然不能在各自的TextBox或PasswordBox的键盘输入。

The keyboard support for FullScreen is only given to Trusted Application.在全屏键盘的支持只给受信任的应用。That means the application should run in out-of-browser mode.这意味着应用程序应该运行于外的浏览器模式。

Let's do that.让我们这样做。

And the settings ofcourse.和设定ofcourse。

As you see in above figure, we need to check the elevated trust when running in outside the browser.正如你在上面的数字看,我们需要检查时,升高的信任在浏览器之外运行。

Let's have some message when user logs in.让我们有一些消息,当用户登录

Now run the application and install the application.现在,运行应用程序并安装应用程序。

Press install to install the application.按安装到安装应用程序。

Go to fullscreen mode and you would be able to use the Keyboard inputs.进入全屏模式,您将能够使用键盘输入。

Hope this article helps.希望这篇文章帮助

 

 

2)脱离浏览器的模式(OOB)。

 

 

http://blog.csdn.net/jv9/archive/2010/07/08/5720023.aspx

什么是Silverlight的Out-of-Browser应用?

Silverlight Out-of-Browser应用,从字面理解是Silverlight脱离浏览器的应用,也可以理解为Silverlight离线应用,简称为OOB。微软给出的解释是OOB应用是可以安装到本地的运行在浏览器之外的应用,简单的理解,Silverlight OOB应用就是一个不需要存取HTML DOM,并且完全脱离浏览器,具有独立窗口的Web应用。微软在Silverlight 3已经发布该功能,由于当时Silverlight 3的种种限制,Silverlight的OOB应用基本没有过多的发展,但是这个新特性给当时的开发人员留下了深刻的印象,微软在随后的Silverlight 4版本中,对OOB功能进行的强化,例如OOB的权限信任支持,自定义窗口设计支持,消息通告API支持等。这些功能,不仅增强了Silverlight跨平台应用功能支持,而且还加大了用户对Silverlight离线应用的体验。

让我们看一个Silverlight OOB的案例,下图是新浪财经的Silverlight OOB应用,该应用作为独立窗口运行,没有基于浏览器,

 

Silverlight Out-of-Browser的运行原理?

Tim Heuer是微软Silverlight项目经理,他的博客中曾经发表过相关Silverlight Out-of-Browser的运行原理 , 在这里我们以简单的方式理解一下Silverlight OOB的运行原理。

作为Silverlight开发人员应该都知道访问Silverlight应用其实就是对服务器端的XAP文件进行读取,Silverlight OOB同样是基于Silverlight技术的应用,所以OOB应用也是访问运行XAP文件,但是该文件是来自本地的目录。Silverlight OOB应用的访问步骤:

1. 首先需要配置AppManifest.xml,使应用支持Out-of-Browser;

2. 然后安装OOB应用,这时Silverlight项目的XAP文件将被下载到一个本地目录存储;

3. 在本地运行OOB应用,这时,应用会根据XAP的原始URL发出请求,检测是否有新版本,如果有,则更新,如果没有将继续运行;

以上是最简单的理解,在网络上有一篇翻译Tim的文章,大家可以阅读Silverlight OOB的运行原理中文版加深理解。

Silverlight Out-of-Browser的存储位置?

上文已经讲到Silverlight OOB应用,安装成功后,XAP将保存在本地目录,而这个目录从桌面快捷方式是无法查看到的,例如刚才我们演示的新浪财经OOB应用,在快捷方式中,仅显示“"C:\Program Files (x86)\Microsoft Silverlight\sllauncher.exe" 3161465351.vip.stock.finance.sina.com.cn”, 从上面目录下的metadata元数据文件中可以得知3161465351.vip.stock.finance.sina.com.cn是该用户的唯一的AppID。

 

 而其真实存储目录则在C:\Users\<login id>\AppData\Local\Microsoft\Silverlight\OutOfBrowser\3161465351.vip.stock.finance.sina.com.cn,

 1 ShortcutName=新浪财经
 2 LaunchPath=C:\Users\kevin.fan\AppData\Local\Microsoft\Silverlight\OutOfBrowser\3161465351.vip.stock.finance.sina.com.cn\index.html
 3 CustomIcon=1
 4 TrimmedSourceDomain=vip.stock.finance.sina.com.cn
 5 TrimmedTitle=新浪财经
 6 TrimmedName=新浪财经
 7 ElevatedPermissions=2147483647
 8 XapLastModified=Thu, 27 May 2010 07:01:27 GMT
 9 EnableGPUAcceleration=False
10 WindowStartupLocation=0
11 WindowTop=0
12 WindowLeft=0
13 WindowWidth=800
14 WindowStyle=0
15 WindowHeight=600
16 SourceDomain=vip.stock.finance.sina.com.cn
17 OriginalSourceUri=http://vip.stock.finance.sina.com.cn/silverpulse/ClientBin/Loader.xap
18 FinalAppUri=http://vip.stock.finance.sina.com.cn/silverpulse/ClientBin/Loader.xap
19 RuntimeVersion=4.0.50401.0
20 AppID=3161465351.vip.stock.finance.sina.com.cn
21 Description=新浪财经
22 Title=新浪财经
23 Name=新浪财经
Silverlight In-of-Browser和Silverlight Out-of-Browser的对比

在Silverlight 4中,微软对OOB功能进行了强化,对比Silverlight In-of-Browser和Out-of-Browser,在功能上有着很大的差异,

1. OOB应用最大的特点是用户可以不需要任何网络支持在本地运行应用;

2. OOB应用支持Trust权限提升功能,也就是所谓的Elevated Trust模式,该模式是Silverlight 4 OOB强化中最关键的特征之一,通过权限提升,OOB应用可以做到许多Windows应用功能,例如:

a. 在权限允许的情况下,OOB应用可以访问本地文件目录;

b. 在权限允许的情况下,OOB应用可以被锁定显示自定义应用图标在Windows开始菜单和任务栏中;

c. 在权限允许的情况下,OOB应用可以访问COM API;

d. 在权限允许的情况下,OOB应用支持XAP签名认证;

e. 在权限允许的情况下,OOB应用支持消息通知API调用;

d. 在权限允许的情况下,OOB支持HTML WebBrowser;

3. OOB应用每次运行都需要进行版本升级检查,而In-of-Browser则是项目运行时自动更新;

4. OOB应用无法接收初始化参数数据,而In-of-Browser可以;

5. 对于Isolated Storage空间的分配,OOB应用默认分配25M,而基于浏览器的Silverlight应用仅为1M,但是两者都允许用户进行自定义扩展;

 

 

===================

我在研究HTML5+JAVASCRIPT,感觉SL做手机开发和平台开发应用程序不错,做WEB应用,无论使用AS(Flex)还是SL都是末路没有前途。~~~~!!!!!

 

===============

http://www.cnblogs.com/xiaoxueliang/archive/2010/08/30/1812414.html

 

最近为了提高Silverlight项目的使用体验,在项目中加了一个全屏支持。Silverlight全屏是非常方便的,给全屏按钮加上处理逻辑,
将IsFullScreen属性设为true即可。示例代码如下:

  
  
<!-- Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ --> this .fullScreen = new DelegateCommand( o => { App.Current.Host.Content.IsFullScreen = ! App.Current.Host.Content.IsFullScreen; }, o => { return true ; });




但是全屏之后就发现了问题,键盘无法法输入,导致无法给流程环节重新命名。查看silverlight文档,Silverlight运行在安全沙盒中,
全屏后只能用有限的几个键:UP ,DOWN ,LEFT ,RIGHT ,SPACEBAR,TAB,PAGE UP,PAGE DOWN,HOME,END,ENTER。 这几个
键全是为播放器准备的,在我们的项目中全屏后功能受限,就很不方便了。试了一下用F11全屏,都比Silverlight全屏好用多了,
而且一句代码不用写。

要突破Silverlight的安全限制,Silverlight4.0提供了解决方案:OUt-of-Browser支持。这个功能只需要配置即可,配置的步骤如下 :

  1. "解决方案资源浏览器"中,选择要为其启用浏览器外支持的 Silverlight 项目。

  2. "项目"菜单上,选择项目名称"属性"

  3. "Silverlight"选项卡上,选择"允许在浏览器外运行应用程序"

  4. 单击"浏览器外设置"

    随即出现"Out-of-Browser Settings"对话框。

  5. 为指示的字段指定值,然后单击"确定"window Title和Shortcut name可选填。

我配置完之后,重新运行项目,并安装到计算机。键盘不能输入的问题终于得解。有了Out-of-Browser支持,Silverlight的全屏
就更完善了。Out-of-Browser支持还拓展了silverlight的使用空间,让silverlight脱离了仅仅是web应用的层面,也可以做桌面程序了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值