Silverlight开发:从键盘处理到元素应用
1. 键盘处理与焦点管理
在开发过程中,键盘处理是一个重要的方面。需要注意的是,像TextBox这样的控件并非用于底层键盘处理。在处理文本输入控件时,应仅对其更高级别的键盘事件(如TextChanged)做出响应。
当按键发生时,除了知道按下的是哪个键,还需了解同时按下的其他键,特别是Shift和Ctrl等修饰键。可以使用Keyboard类的共享Modifiers属性来检查修饰键的状态,示例代码如下:
If (Keyboard.Modifiers And ModifierKeys.Control) = ModifierKeys.Control Then
message &= "You are holding the Control key."
End If
需要提醒的是,浏览器可能会拦截按键操作。例如,在Internet Explorer中,无法看到Alt键的KeyDown事件,因为浏览器会拦截它。
在Silverlight中,用户一次只能与一个控件交互,当前接收用户按键的控件即为具有焦点的控件。可以通过鼠标点击、Tab键和箭头键来移动焦点。Silverlight利用元素的层次布局来实现Tab顺序,按下Tab键时,会移动到当前元素的第一个子元素;若当前元素没有子元素,则移动到同一级别的下一个子元素。
若想控制Tab顺序,可以为每个控件设置TabIndex属性,值为0的控件首先获得焦点,然后按数值递增顺序依次获得焦点。若多个元素的TabIndex值相同,则使用自动Tab顺序。默认情况下,
超级会员免费看
订阅专栏 解锁全文
40

被折叠的 条评论
为什么被折叠?



