我使用MVVM架构实现了Silverlight应用程序。
现在我想在我的应用程序中使用浏览器特定的快捷方式(热键)。有没有办法禁用/编辑特定浏览器(所有浏览器)的快捷方式,如CTRL + P,CTRL + S等。
我不想使用java脚本。
请帮助.. !!
答案 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的应用程序由浏览器托管时的源代码。