ContentElement.RemoveHandler(RoutedEvent, Delegate) 方法

定义

从此元素中删除指定的路由事件处理程序。

public:
 virtual void RemoveHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void RemoveHandler(System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member RemoveHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.RemoveHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub RemoveHandler (routedEvent As RoutedEvent, handler As Delegate)

参数

routedEvent
RoutedEvent

为其附加处理程序的 .routed 事件的标识符。

handler
Delegate

要从此元素上的事件处理程序集合中移除的特定处理程序实现。

实现

注解

使用此 API 的最常见方案是在实现与自定义路由事件关联的公共语言运行时(CLR)“包装器”事件时,特别是当你在 CLR 级别实现处理程序的“remove”逻辑时。 此备注部分后面的示例说明了此方案。

如果没有使用与方法调用的输入参数匹配的条件注册的处理程序,则调用此方法不起作用。

如果附加了多个与条件匹配的处理程序,则只会删除事件处理程序存储中的第一个处理程序。 此行为与运算符的 -= CLR 行为一致。

routedEvent 不能也 handler 不可能 null。 尝试按原样 null 提供任一值会引发异常。

此方法将忽略 handledEventsToo 参数信息,如果处理程序是首次添加的 AddHandler(RoutedEvent, Delegate, Boolean) 签名,该签名支持处理已处理的事件。 删除任一类型的处理程序。

适用于

另请参阅