如何在Silverlight 3文本框中处理KeyDown和KeyUp事件

如何在Silverlight 3文本框中处理KeyDown和KeyUp事件,silverlight,silverlight-3.0,Silverlight,Silverlight 3.0,我将处理程序附加到Silverlight 3文本框的KeyDown和KeyUp事件,如下所示: _masterTextBox.KeyDown += (s, args) => { CheckForUserEnteredText(MasterTextBox.Text); args.Handled = false; }; _masterTextBox.KeyUp += (s, args) => { UpdateText(MasterTextBox.Text); };

我将处理程序附加到Silverlight 3文本框的KeyDown和KeyUp事件,如下所示:

_masterTextBox.KeyDown += (s, args) =>
{
     CheckForUserEnteredText(MasterTextBox.Text);
     args.Handled = false;
};

_masterTextBox.KeyUp += (s, args) => { UpdateText(MasterTextBox.Text); };
当我注释掉KeyDown处理程序时,KeyUp将捕获事件,否则,只触发KeyDown处理程序

有人能解释为什么KeyUp事件处理程序在KeyDown处理程序触发后不触发吗


谢谢。

我认为您需要查看您的
CheckForUserEnteredText
函数。当然,仅仅从发布的代码来看,没有理由不触发KeyUp,在我的测试中也是如此


也许
CheckForUserEnteredText
做了些什么来阻止它?您似乎同时拥有一个名为
MasterTextBox
的公共字段/属性和一个名为
\u MasterTextBox
的公共字段/属性,是否同时需要这两个属性?可能是键盘启动了,但UpdateText没有达到您的预期?列表还可以继续,底线是您发布的代码没有问题。

结果表明,问题在于我在keydown方法中设置了一个断点。显然,当您设置断点时,它会错过keyup事件