在微软官方文档,只有一个段落提控件的行为,以键盘(至少是我能找到):Silverlight 4控件的默认键盘行为是否有参考?
http://msdn.microsoft.com/en-us/library/cc189015(v=VS.95).aspx#inputting_text
文字输入和控制
某些控制反应键盘事件与自己的处理。例如,TextBox是一个控件,用于捕获并直观地表示通过使用键盘输入的文本,并且它使用KeyUp和KeyDown在其自己的逻辑中捕获击键,然后在文本中引发自己的TextChanged事件其实已经改变您通常仍然可以将KeyUp和KeyDown的处理程序添加到TextBox或用于处理文本输入的任何相关控件。但是,作为预期设计的一部分,控件可能不会响应通过关键事件指向它的所有关键值。行为特定于每个控件。作为一个例子,ButtonBase(Button的基类)处理KeyUp,以便它可以检查SPACEBAR或ENTER键,为了引发Click事件,它被认为相当于鼠标左键按下。该事件的处理由ButtonBase覆盖虚拟方法OnKeyUp来完成,并且在其实现中它设置Handled = true。结果是,在SPACEBAR的情况下侦听键事件的按钮的任何父母将不会接收其自己的处理程序的已处理事件。另一个例子是TextBox。某些键(如ARROW键)不被TextBox视为文本,而是被视为特定于控件UI行为,TextBox将这些事件案例标记为已处理。
通过重写OnKeyDown/OnKeyUp,自定义控件可以为关键事件实现自己的类似重写行为。如果您的自定义控件处理特定的加速键,或者具有与TextBox所描述的场景类似的控件或焦点行为,则应该将此逻辑放在您自己的OnKeyDown/OnKeyUp覆盖中。
是否有更完整的参考?
例如在AutoCompleteBox可以导航到建议按上/下,选择一个按压进入,等等等等
完全可以有不是集中的每一个控制和压在每一个关键的一个更好的办法键盘找出:)
也许这将有助于.... HTTP:// WWW。 dummies.com/how-to/content/silverlight-4-for-dummies-cheat-sheet.html – Aeonius 2011-05-12 17:04:12