如何在Silverlight项目中模拟MVVM中的按键?
我想在用户按下ENTER键时按下TAB键,然后移动到下一个文本框
答案 0 :(得分:1)
这取决于你在这里想要实现的目标?如果您只是尝试执行按下键时执行的相同代码,那么只需构造代码即可实现此目的!
有关UI控件的自动化,模拟键和鼠标事件,请参阅MSDN:
答案 1 :(得分:1)
只需处理KeyUp
event,您可以在其中检查按下了哪个键。
然后,调用下一个控件的Focus method。
不要忘记将Handled property设置为true
。
示例代码:
// Handler for TextBox1
private void OnKeyDownHandler(object sender, KeyEventArgs e)
{
if (e.Key == Key.Return)
{
TextBox2.Focus();
e.Handled = true;
}
}
你也可以考虑使用TabIndex property迭代所有控件,找到下一个可聚焦元素。
您甚至可以将所有内容包装成可附加的行为,以简化布线。