Partilhar via


XamlDirect.RemoveEventHandler Método

Definição

Remove o manipulador de eventos especificado deste IXamlDirectObject. Normalmente, o manipulador em questão foi adicionado por 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)

Parâmetros

xamlDirectObject
IXamlDirectObject

Uma referência ao IXamlDirectObject atual.

eventIndex
XamlEventIndex

Um identificador do evento para remover o identificador para especificado por meio da enumeração XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Uma referência à implementação do manipulador especificado.

Exemplos

O exemplo a seguir mostra como adicionar/modificar e remover o evento PointerEntered por meio de uma instância específica de PointerEventHandler em um controle ToggleSwitch de sua instância 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);

Comentários

RemoveEventHandler só pode ser usado para remover manipuladores de eventos para os eventos compatíveis com a enumeração XamlEventIndex .

Chamar esse método não terá efeito se não houver manipuladores registrados com critérios que correspondam aos parâmetros de entrada para a chamada de método.

Esse método ignora se o parâmetro handledEventsToo era true na chamada XamlDirect.AddEventHandler que originalmente anexou o manipulador.

Aplica-se a

Confira também