Condividi tramite


XamlDirect.RemoveEventHandler Metodo

Definizione

Rimuove il gestore eventi specificato da questo IXamlDirectObject. In genere, il gestore in questione è stato aggiunto da 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)

Parametri

xamlDirectObject
IXamlDirectObject

Riferimento all'oggetto IXamlDirectObject corrente.

eventIndex
XamlEventIndex

Identificatore dell'evento per rimuovere l'handle per specificato tramite l'enumerazione XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Riferimento all'implementazione del gestore specificata.

Esempio

Nell'esempio seguente viene illustrato come aggiungere/modificare e rimuovere l'evento PointerEntered tramite un'istanza specifica di PointerEventHandler in un controllo ToggleSwitch dall'istanza 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);

Commenti

RemoveEventHandler può essere usato solo per rimuovere i gestori eventi per gli eventi supportati dall'enumerazione XamlEventIndex .

La chiamata a questo metodo non ha alcun effetto se non sono presenti gestori registrati con criteri che corrispondono ai parametri di input per la chiamata al metodo.

Questo metodo ignora se il parametro handledEventsToo è true nella chiamata XamlDirect.AddEventHandler che ha originariamente collegato il gestore.

Si applica a

Vedi anche