3

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

我想在用户按下 ENTER 时模拟 TAB 键按下,所以它移动到下一个文本框

4

2 回答 2

1

这取决于你想在这里实现什么?如果您只是尝试执行按下键时将执行的相同代码,那么只需构建您的代码以允许这样做!

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

Silverlight 自定义控件的 UI 自动化

于 2011-09-09T10:24:57.587 回答
1

只需处理可以检查按下哪个键的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 属性遍历所有控件,以找到下一个可聚焦元素。

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

于 2011-09-09T13:36:47.363 回答