【发布时间】:2012-11-14 18:23:43
【问题描述】:
我正在尝试将事件标记为已处理,但尝试这样做时会引发异常。
我有以下函数在TextBox 的LostFocus 事件上被调用:
private void TextBox_LostFocus(object sender, RoutedEventArgs e)
{
// ...
// do something
// ...
e.Handled = true;
}
但是,一旦执行e.Handled = true,就会引发以下异常:
“System.InvalidOperationException”类型的未处理异常 发生在 PresentationCore.dll 中
附加信息:每个 RoutedEventArgs 必须有一个非 null RoutedEvent 与之关联。
我尝试将 e.Handled 行移到函数中的其他代码之前,但这没有帮助。
为什么会引发异常以及有哪些可能的解决方法?
【问题讨论】:
-
你查看
e有哪些属性了吗? -
@Bob.:是的。它确实具有允许我获取或设置值的
Handled属性。 -
听起来
e在运行时为空。不知道为什么,但你能添加一个断点并检查吗? -
@RickB:你是对的。我从代码中的其他地方将该函数称为
TextBox_LostFocus(sender, new RoutedEventArgs()),因此它不起作用。我已经删除了函数调用,它现在可以工作了。您应该将其添加为答案,以便我接受。谢谢!
标签: c# wpf wpf-controls