禁用Silverlight应用程序的浏览器特定热键

时间:2013-06-17 08:21:13

标签: c# silverlight

我使用MVVM架构实现了Silverlight应用程序。

现在我想在我的应用程序中使用浏览器特定的快捷方式(热键)。有没有办法禁用/编辑特定浏览器(所有浏览器)的快捷方式,如CTRL + P,CTRL + S等。

我不想使用java脚本。

请帮助.. !!

1 个答案:

答案 0 :(得分:0)

不幸的是没有。它是在全屏模式或浏览器之外引发的,但也有限制......您可以使用CTRL+SHIFT+S之类的快捷方式,但它不是用户友好的..

MSDN文档:http://msdn.microsoft.com/en-us/library/cc189015(VS.95).aspx#Keyboard_Events

  

如果应用程序是浏览器托管的,则浏览器主机会确定哪个应用程序   键盘将其解释为命令以及它传递的键击   托管内容。这意味着某些按键组合   无法从KeyDown和KeyUp事件处理函数中检索   一些浏览器主机。浏览器托管的大多数击键   解释为命令是快捷键或加速键击,以及   当发生这种情况时,击键不会作为关键事件传递给   Silverlight的。例如,CTRL + D是快捷键击组合   用于将喜爱的URL添加到Firefox和Internet Explorer浏览器中   主机,并且CTRL和D都不会被报告为关键事件   Silverlight必须使用的中间托管层作为其输入   基于Silverlight的应用程序由浏览器托管时的源代码。