我想在我的Silverlight应用程序中添加一些快捷键处理程序,如Ctrl + B。 但是,在IE中当我们按下Ctrl + B时,会出现一个“Organize Favorings”子窗口。是否可以使用Silverlight禁用这些浏览器快捷方式?在Silverlight中禁用浏览器快捷键/快捷键?
很多很多谢谢!
Mrainy
我想在我的Silverlight应用程序中添加一些快捷键处理程序,如Ctrl + B。 但是,在IE中当我们按下Ctrl + B时,会出现一个“Organize Favorings”子窗口。是否可以使用Silverlight禁用这些浏览器快捷方式?在Silverlight中禁用浏览器快捷键/快捷键?
很多很多谢谢!
Mrainy
我not sure you can由我读过判断。不过,您可以通过将JavaScript代码传递给silverlight应用程序的页面来破解它。 (请参阅javascript/silverlight interop)
感谢布拉德,如在MSDN中提到,“大部分的按键,一个浏览器主机解释为命令是快捷键或加速键击,当发生这种情况时,键击不会作为键事件传递给Silverlight“。所以看起来我们没有太多的选择。 – Mrainy
我不明白这个回复如何解决问题。为什么它被接受为答案?我尝试使用Javascript来捕获键,但是当Silverlight对象处于活动状态时,无法使用JavaScript keydown和按键事件。 (在我的情况下,只有一个silverlight页面,没有额外的html对象,所以只有在点击激活Silverlight对象之前,keydown/keypress事件才会在页面加载时生效)。这仅仅是我的错吗? –
@AlKepp:我的理解是接受的,因为这是不可能的。我已经链接到silverlight论坛帖子,明确提到你不能读取密钥。但是,如果您找到了解决办法,请随时发布,我将非常乐意为您提供解决方案,并鼓励您的答案是可以接受的答案。 - (编辑:鉴于浏览器是不是交出像ctrl + b键击silverlight,但是把它们交给JS,它应该有可能与互操作变形虽然) –
如果您需要在应用程序中使用常用快捷方式,则应考虑在“浏览器外”模式下运行它。
你可以找到更多关于OOB在MSDN:
http://msdn.microsoft.com/en-us/library/dd550721(v=vs.95).aspx
嗨,感谢您的回答,但我必须在浏览器模式下使用此应用程序。 – Mrainy
没有ü找到任何解决方案 – AMH