Поделиться через


XamlDirect.RemoveEventHandler Метод

Определение

Удаляет указанный обработчик событий из этого объекта IXamlDirectObject. Как правило, рассматриваемый обработчик был добавлен xamlDirect.AddEventHandler.

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

Параметры

xamlDirectObject
IXamlDirectObject

Ссылка на текущий объект IXamlDirectObject.

eventIndex
XamlEventIndex

Идентификатор события, удаляющего дескриптор для указанного с помощью перечисления XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Ссылка на указанную реализацию обработчика.

Примеры

В следующем примере показано, как добавить или изменить и удалить событие PointerEntered с помощью определенного экземпляра PointerEventHandler в элементе управления ToggleSwitch из его экземпляра IXamlDirectObject .

XamlDirect xd = XamlDirect.GetDefault();

IXamlDirectObject 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();

IXamlDirectObject^ 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);

Комментарии

RemoveEventHandler можно использовать только для удаления обработчиков событий для событий, поддерживаемых перечислением XamlEventIndex .

Вызов этого метода не оказывает влияния, если не зарегистрированы обработчики с условиями, которые соответствуют входным параметрам для вызова метода.

Этот метод игнорирует, был ли параметр handledEventsToo true в вызове XamlDirect.AddEventHandler , который первоначально присоединил обработчик.

Применяется к

См. также раздел