【发布时间】:2011-09-09 10:10:07
【问题描述】:
您将如何在 Silverlight 项目中模拟 MVVM 中的按键?
我想在用户按下 ENTER 时模拟 TAB 键按下,所以它移动到下一个文本框
【问题讨论】:
-
你不能依靠命令而不是模拟按键吗?你的实际要求是什么?
标签: silverlight key mvvm-light keypress simulate
您将如何在 Silverlight 项目中模拟 MVVM 中的按键?
我想在用户按下 ENTER 时模拟 TAB 键按下,所以它移动到下一个文本框
【问题讨论】:
标签: silverlight key mvvm-light keypress simulate
只需处理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 遍历所有控件以查找下一个可聚焦元素。
您甚至可以将所有内容包装在可附加的行为中,以简化接线。
【讨论】:
这取决于你想在这里实现什么?如果您只是尝试执行与按下某个键时将执行的代码相同的代码,那么只需构建您的代码以允许这样做!
有关 UI 控件的自动化、模拟键和鼠标事件,请参阅 MSDN:
【讨论】: