Condividi tramite


XamlDirect.AddEventHandler Metodo

Definizione

Overload

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

Aggiunge il gestore eventi specificato per un evento specificato usando XamlEventIndex, aggiungendo il gestore alla raccolta del gestore nell'oggetto IXamlDirectObject corrente.

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

Aggiunge il gestore eventi specificato per un evento specificato usando XamlEventIndex, aggiungendo il gestore alla raccolta del gestore nell'oggetto IXamlDirectObject corrente. Specificare handledEventsToo come true per fare in modo che il gestore fornito venga richiamato anche se l'evento viene gestito altrove.

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

Aggiunge il gestore eventi specificato per un evento specificato usando XamlEventIndex, aggiungendo il gestore alla raccolta del gestore nell'oggetto IXamlDirectObject corrente.

public:
 virtual void AddEventHandler(IXamlDirectObject ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler) = AddEventHandler;
/// [Windows.Foundation.Metadata.DefaultOverload]
/// [Windows.Foundation.Metadata.Overload("AddEventHandler")]
void AddEventHandler(IXamlDirectObject const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler);
[Windows.Foundation.Metadata.DefaultOverload]
[Windows.Foundation.Metadata.Overload("AddEventHandler")]
public void AddEventHandler(IXamlDirectObject xamlDirectObject, XamlEventIndex eventIndex, object handler);
function addEventHandler(xamlDirectObject, eventIndex, handler)
Public Sub AddEventHandler (xamlDirectObject As IXamlDirectObject, eventIndex As XamlEventIndex, handler As Object)

Parametri

xamlDirectObject
IXamlDirectObject

Riferimento all'oggetto IXamlDirectObject corrente.

eventIndex
XamlEventIndex

Identificatore dell'evento da gestire tramite l'enumerazione XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Riferimento all'implementazione del gestore specificata.

Attributi

Esempio

Nell'esempio seguente viene illustrato come aggiungere/modificare 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);
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);

Commenti

AddEventHandler può essere usato solo per aggiungere gestori eventi per gli eventi supportati dall'enumerazione XamlEventIndex . Puoi usare questo metodo per aggiungere gestori a eventi indirizzati e non indirizzati supportati dall'oggetto xaml.

Vedi anche

Si applica a

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

Aggiunge il gestore eventi specificato per un evento specificato usando XamlEventIndex, aggiungendo il gestore alla raccolta del gestore nell'oggetto IXamlDirectObject corrente. Specificare handledEventsToo come true per fare in modo che il gestore fornito venga richiamato anche se l'evento viene gestito altrove.

public:
 virtual void AddEventHandler(IXamlDirectObject ^ xamlDirectObject, XamlEventIndex eventIndex, Platform::Object ^ handler, bool handledEventsToo) = AddEventHandler;
/// [Windows.Foundation.Metadata.Overload("AddEventHandler_HandledEventsToo")]
void AddEventHandler(IXamlDirectObject const& xamlDirectObject, XamlEventIndex const& eventIndex, IInspectable const& handler, bool const& handledEventsToo);
[Windows.Foundation.Metadata.Overload("AddEventHandler_HandledEventsToo")]
public void AddEventHandler(IXamlDirectObject xamlDirectObject, XamlEventIndex eventIndex, object handler, bool handledEventsToo);
function addEventHandler(xamlDirectObject, eventIndex, handler, handledEventsToo)
Public Sub AddEventHandler (xamlDirectObject As IXamlDirectObject, eventIndex As XamlEventIndex, handler As Object, handledEventsToo As Boolean)

Parametri

xamlDirectObject
IXamlDirectObject

Riferimento all'oggetto IXamlDirectObject corrente.

eventIndex
XamlEventIndex

Identificatore dell'evento da gestire tramite l'enumerazione XamlEventIndex .

handler
Object

Platform::Object

IInspectable

Riferimento all'implementazione del gestore specificata.

handledEventsToo
Boolean

bool

true per registrare il gestore in modo che venga richiamato anche quando l'evento indirizzato viene contrassegnato come gestito nei dati dell'evento. false per registrare il gestore con la condizione predefinita che non verrà richiamata se l'evento indirizzato è già contrassegnato come gestito.

Il valore predefinito è false e il parametro è facoltativo.

Attributi

Esempio

Nell'esempio seguente viene illustrato come aggiungere/modificare 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, true);
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, true);

Commenti

AddEventHandler può essere usato solo per aggiungere gestori eventi per gli eventi supportati dall'enumerazione XamlEventIndex . Puoi usare questo metodo per aggiungere gestori a eventi indirizzati e non indirizzati supportati dall'oggetto xaml.

Vedere UIElement.AddHandler per quando usare handledEventsToo e le restrizioni relative allo stesso. Per gli eventi non indirizzati, il flag handleEventsToo viene completamente ignorato.

Vedi anche

Si applica a