ContentElement.RemoveHandler(RoutedEvent, Delegate) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
从此元素中删除指定的路由事件处理程序。
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
附加处理程序的路由事件的标识符。
- handler
- Delegate
要从此元素的事件处理程序集合中删除的特定处理程序实现。
实现
注解
使用此 API 的最常见方案是在实现与自定义路由事件关联的公共语言运行时 (CLR) 与自定义路由事件关联的“包装器”事件时,特别是当你在 CLR 级别实现处理程序的“remove”逻辑时。 本备注部分后面的示例说明了此方案。
如果没有使用与方法调用的输入参数匹配的条件注册的处理程序,则调用此方法无效。
如果附加了多个与条件匹配的处理程序,则只会删除事件处理程序存储中的第一个处理程序。 此行为与运算符的 -=
CLR 行为一致。
两者routedEvent
都不可能handler
。null
尝试提供任一值,将 null
引发异常。
此方法将忽略 handledEventsToo
参数信息,如果处理程序首先添加了 AddHandler(RoutedEvent, Delegate, Boolean) 启用已处理事件的签名,则会提供该信息。 删除任一类型的处理程序。