Compartir a través de


XamlDirect.RemoveEventHandler Método

Definición

Quita el controlador de eventos especificado de este IXamlDirectObject. Normalmente, xamlDirect.AddEventHandler agregó el controlador en cuestión.

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)

Parámetros

xamlDirectObject
IXamlDirectObject

Referencia al objeto IXamlDirectObject actual.

eventIndex
XamlEventIndex

Identificador del evento para quitar el identificador de especificado mediante la enumeración XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Referencia a la implementación del controlador especificada.

Ejemplos

En el ejemplo siguiente se muestra cómo agregar o modificar y quitar el evento PointerEntered a través de una instancia específica de PointerEventHandler en un control ToggleSwitch de su instancia de 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);

Comentarios

RemoveEventHandler solo se puede usar para quitar controladores de eventos para los eventos admitidos por la enumeración XamlEventIndex .

Llamar a este método no tiene ningún efecto si no había controladores registrados con criterios que coincidan con los parámetros de entrada de la llamada al método.

Este método omite si el parámetro handledEventsToo era true en la llamada XamlDirect.AddEventHandler que adjuntaba originalmente el controlador.

Se aplica a

Consulte también