之前我发过一篇求助:siverlight高手解答:无法阻止silverlight把快捷键传递给IE7 , 这篇帖子浏览量看的人不少,没有几个人回复。由于siverlight是嵌套在IE中,IE自己的快捷键设置,就有40多种,简单的好记的快捷键基本都已经被IE占用。所以想屏蔽IE的快捷,使用自己的快捷方式。很遗憾的是在siverlight无法实现。最后翻msdn上面有这样的一段话:
“不同浏览器可能以不同方式处理键盘事件。在您创建使用键盘输入的某一应用程序时,请确保在您的目标浏览器中测试该应用程序。浏览器确定它将解释为命令的击键和要传递给所承载内容的击键。这表明将无法从 KeyDown 和 KeyUp 事件处理程序函数中检索某些击键。浏览器解释为命令的大多数击键是快捷方式击键或快捷键击键,而不作为键事件传递到 Silverlight。例如,Ctrl+D 是用于将收藏的 URL 添加到 Firefox 和 Internet Explorer 浏览器的快捷方式击键组合,而 Ctrl 和 D 都不会被报告为键事件”
........无语了,我只能实现Ctrl+Alt+字母或Ctrl+Shift+字母的快捷键,这样的快捷键用户体验并不好。这就变成了鸡肋了!