在Silverlight项目中,如何通过MVVM模式模拟按键操作?
当用户按下回车键时,我希望可以模拟TAB键的按下,以便跳转到下一个文本框。
在Silverlight项目中,如何通过MVVM模式模拟按键操作?
当用户按下回车键时,我希望可以模拟TAB键的按下,以便跳转到下一个文本框。
简单地处理KeyUp
事件,您可以检查按下了哪个键。
然后,调用下一个控件的Focus方法。
不要忘记将Handled属性设置为true
。
示例代码:
// Handler for TextBox1
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TextBox2.Focus();
e.Handled = true;
}
}
您还可以考虑迭代所有控件,使用TabIndex属性查找下一个可聚焦元素。
您甚至可以将所有内容包装在可附加的行为中,以简化连接过程。
这取决于你在这里想要实现什么?如果你只是想执行与按键触发相同的代码,那么只需构建你的代码以允许此操作即可!
对于 UI 控件的自动化、模拟键盘和鼠标事件,请参阅 MSDN: