Page.xaml里面的元素是可以接收键盘事件的,本来以为User Control页面也支持键盘事件的,结果在User Control的页面里加上了一行这样的代码:

this.KeyDown += new KeyboardEventHandler(UC_KeyDown);

当加载这个User Control时,发现这个User Control就显示不出来了,而注释掉就可以正常显示。后来试着在Page.xaml.cs里写这样的代码:

UC uc = new UC();
uc.KeyDown += new KeyboardEventHandler(uc_KeyDown);
this.Children.Add(uc);

发现还是无法显示出来,而注释掉那一行KeyDown事件就没有什么问题,莫非Silverlight User Control真的不支持键盘事件?

不过即使是这样也还是有办法转发键盘消息的,请看解决办法:

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.