내보내기(0) 인쇄
모두 확장
확장 최소화

UIElement.RemoveHandler 메서드

업데이트: 2007년 11월

이 요소에서 지정한 라우트된 이벤트 처리기를 제거합니다.

네임스페이스:  System.Windows
어셈블리:  PresentationCore(PresentationCore.dll)

public void RemoveHandler(
	RoutedEvent routedEvent,
	Delegate handler
)
public final void RemoveHandler(
	RoutedEvent routedEvent,
	Delegate handler
)
public final function RemoveHandler(
	routedEvent : RoutedEvent, 
	handler : Delegate
)
XAML에서 메서드를 사용할 수 없습니다.

매개 변수

routedEvent
형식: System.Windows.RoutedEvent

처리기가 연결된 라우트된 이벤트의 식별자입니다.

handler
형식: System.Delegate

이 요소의 이벤트 처리기 컬렉션에서 제거할 특정 처리기 구현입니다.

구현

IInputElement.RemoveHandler(RoutedEvent, Delegate)

이 API는 사용자 지정 라우트된 이벤트와 연결된 CLR(공용 언어 런타임) "래퍼" 이벤트를 구현할 때, 특히 CLR 수준에서 처리기의 "제거" 논리를 구현할 때 가장 많이 사용됩니다. 이 설명 부분 뒤에 나오는 예제에서는 이러한 시나리오를 보여 줍니다.

메서드 호출의 입력 매개 변수와 일치하는 조건으로 등록된 처리기가 없으면 이 메서드를 호출해도 아무런 영향이 없습니다.

조건과 일치하는 처리기가 여러 개 연결되어 있으면 이벤트 처리기 저장소의 첫 번째 처리기만 제거됩니다. 이 동작은 -= 연산자의 CLR 동작과 일치합니다.

routedEvent 또는 handler가 모두 null이 아닌 경우 이 두 값을 null로 제공하려고 하면 예외가 발생합니다.

이 메서드는 이미 처리된 이벤트를 처리할 수 있도록 하는 AddHandler(RoutedEvent, Delegate, Boolean) 시그니처를 사용하여 처리기를 처음으로 추가하면 제공되는 handledEventsToo 매개 변수 정보를 무시합니다. 그리고 두 형식의 처리기는 모두 제거됩니다.

다음 예제에서는 이벤트 래퍼 정의의 일부로 RemoveHandler를 사용합니다.

Public Shared ReadOnly TapEvent As RoutedEvent = EventManager.RegisterRoutedEvent("Tap", RoutingStrategy.Bubble, GetType(RoutedEventHandler), GetType(MyButtonSimple))

' Provide CLR accessors for the event
Public Custom Event Tap As RoutedEventHandler
    AddHandler(ByVal value As RoutedEventHandler)
        Me.AddHandler(TapEvent, value)
    End AddHandler

    RemoveHandler(ByVal value As RoutedEventHandler)
        Me.RemoveHandler(TapEvent, value)
    End RemoveHandler

    RaiseEvent(ByVal sender As Object, ByVal e As RoutedEventArgs)
        Me.RaiseEvent(e)
    End RaiseEvent
End Event


Windows Vista

.NET Framework 및 .NET Compact Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

.NET Framework

3.5, 3.0에서 지원

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft