当用户按下MVVM进入ENTER时,如何在Silverlight中模拟TAB键按下?

时间:2011-09-09 10:10:08

标签: silverlight key mvvm-light keypress simulate

如何在Silverlight项目中模拟MVVM中的按键?

我想在用户按下ENTER键时按下TAB键,然后移动到下一个文本框

2 个答案:

答案 0 :(得分:1)

这取决于你在这里想要实现的目标?如果您只是尝试执行按下键时执行的相同代码,那么只需构造代码即可实现此目的!

有关UI控件的自动化,模拟键和鼠标事件,请参阅MSDN:

UI Automation of a Silverlight Custom Control

答案 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迭代所有控件,找到下一个可聚焦元素。

您甚至可以将所有内容包装成可附加的行为,以简化布线。