如何在Silverlight中以编程方式生成keyDown事件?

时间:2010-08-03 08:56:51

标签: events silverlight-3.0 textbox keydown raise

我有2个文本框。首先是可见的,第二个不是。 当keyDown事件在第一个textBox上触发时,我想在第二个textBox上触发相同的事件,所以它会像用户在第二个textBox中输入一样反应。

我该怎么做?


编辑: 我知道你可以在Windows.Forums中做到这一点,我希望它也可以在这里完成。

我的目标是让2个文本框中包含不同的文本,但是当用户在第1个文本框中键入内容时,相同的文本应出现在第2个文本框中。

实施例: 第一个textBox中的文字:

<home>
 <number>75</number>
 <client>John</client>
</home>

第二个textBox中的文本

<home>
 <number id="123">75</number>
 <client id="345">John</client>
</home>

现在,用户在第一个textBox中键入一些新文本,如:

<home>
 <number>150</number>
 <client>John</client>
</home>

现在这个新文本应该出现在第二个textBox中:

<home>
 <number id="123">150</number>
 <client id="345">John</client>
</home>

这只是改变价值观的一个例子。用户还可以添加新元素,删除它们,更改顺序等。

我已经尝试过映射KeyEventArgs,但我失去了对非标准键的控制,例如:“šđžćč&lt;&gt;”

2 个答案:

答案 0 :(得分:0)

您无法以您想要的方式模仿键盘。

答案 1 :(得分:0)

您需要的是在文本框中添加一个事件处理程序,并在该事件处理程序中根据第一个文本框更新第二个文本框值,反之亦然。

TextChanged

http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.textchanged(v=VS.95).aspx

private void FirstTextBox_TextChanged(object sender, RoutedEventArgs e)
{
    SecondTextBox.Text = FirstTextBox.Text;
}