IXamlDirect.RemoveEventHandler(Object, XamlEventIndex, Object) 메서드

정의

IXamlDirect에서 지정된 이벤트 처리기를 제거합니다.

이 설명서는 UWP용 WinUI 2에 적용됩니다(Windows 앱 SDKWinUI의 경우 Windows 앱 SDK 네임스페이스 참조).

public:
 void RemoveEventHandler(Platform::Object ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler);
void RemoveEventHandler(IInspectable const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler);
public void RemoveEventHandler(object xamlDirectObject, XamlEventIndex eventIndex, object handler);
Public Sub RemoveEventHandler (xamlDirectObject As Object, eventIndex As XamlEventIndex, handler As Object)

매개 변수

xamlDirectObject
Object

Platform::Object

IInspectable

현재 IXamlDirect에 대한 참조입니다.

eventIndex
XamlEventIndex

XamlEventIndex 열거형을 통해 지정된 핸들을 제거하는 이벤트의 식별자입니다.

handler
Object

Platform::Object

IInspectable

지정된 처리기 구현에 대한 참조입니다.

예제

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirect toggleSwitch = xd.CreateInstance(XamlTypeIndex.ToggleSwitch);

PointerEventHandler toggleSwitchPointerHandler = new PointerEventHandler((sender, args) =>
{
    if (sender is ToggleSwitch)
    {
        ((ToggleSwitch)sender).IsOn = !((ToggleSwitch)sender).IsOn;
    }
});

xd.AddEventHandler(toggleSwitch, XamlEventIndex.UIElement_PointerEntered, toggleSwitchPointerHandler);
xd.RemoveEventHandler(toggleSwitch, XamlEventIndex.UIElement_PointerEntered, toggleSwitchPointerHandler);
XamlDirect^ xd = XamlDirect::GetDefault();

IXamlDirect^ toggleSwitch = xd->CreateInstance(XamlTypeIndex::ToggleSwitch);

PointerEventHandler^ toggleSwitchPointerHandler = ref new PointerEventHandler([&](Platform::Object^ sender, PointerRoutedEventArgs^ args)
{
    ToggleSwitch^ ts = dynamic_cast<ToggleSwitch^>(sender);
    if (nullptr != ts)
    {
        ts->IsOn = !ts->IsOn;
    }
});

xd->AddEventHandler(toggleSwitch, XamlEventIndex::UIElement_PointerEntered, toggleSwitchPointerHandler);
xd->RemoveEventHandler(toggleSwitch, XamlEventIndex::UIElement_PointerEntered, toggleSwitchPointerHandler);

설명

일반적으로 지정된 처리기는 IXamlDirect.AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object,System.Boolean)에 의해 추가되었습니다.

RemoveEventHandler는 XamlEventIndex 열거형에서 지원하는 이벤트에 대한 이벤트 처리기를 제거하는 데만 사용할 수 있습니다.

메서드 호출에 대한 입력 매개 변수와 일치하는 조건에 등록된 처리기가 없는 경우 이 메서드를 호출해도 아무 효과가 없습니다.

이 메서드는 원래 처리기를 연결한 IXamlDirect.AddEventHandler(System.Object,Microsoft.UI.Xaml.Core.Direct.XamlEventIndex,System.Object,System.Boolean) 호출에서 handledEventsToo 매개 변수가 true인지 여부를 무시합니다.

적용 대상

추가 정보