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


XamlDirect.AddEventHandler Метод

Определение

Перегрузки

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

Добавляет указанный обработчик событий для указанного события с помощью XamlEventIndex, добавляя обработчик в коллекцию обработчиков в текущем объекте IXamlDirectObject.

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

Добавляет указанный обработчик событий для указанного события с помощью XamlEventIndex, добавляя обработчик в коллекцию обработчиков в текущем объекте IXamlDirectObject. Укажите значение handledEventsToo как true, чтобы вызвать предоставленный обработчик, даже если событие обрабатывается в другом месте.

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)

Добавляет указанный обработчик событий для указанного события с помощью XamlEventIndex, добавляя обработчик в коллекцию обработчиков в текущем объекте IXamlDirectObject.

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)

Параметры

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

Комментарии

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

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

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

AddEventHandler(IXamlDirectObject, XamlEventIndex, Object, Boolean)

Добавляет указанный обработчик событий для указанного события с помощью XamlEventIndex, добавляя обработчик в коллекцию обработчиков в текущем объекте IXamlDirectObject. Укажите значение handledEventsToo как true, чтобы вызвать предоставленный обработчик, даже если событие обрабатывается в другом месте.

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)

Параметры

xamlDirectObject
IXamlDirectObject

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

eventIndex
XamlEventIndex

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

handler
Object

Platform::Object

IInspectable

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

handledEventsToo
Boolean

bool

Значение true для регистрации обработчика таким образом, чтобы он вызывался, даже если перенаправленное событие помечено как обработанное в данных события. значение false , чтобы зарегистрировать обработчик с условием по умолчанию, что он не будет вызываться, если перенаправленное событие уже помечено как обработанное.

Значение по умолчанию — false, а параметр является необязательным.

Атрибуты

Примеры

В следующем примере показано, как добавить или изменить событие 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, 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);

Комментарии

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

Сведения об использовании handledEventsToo и ограничениях см. в разделе UIElement.AddHandler. Для ненаправляемых событий флаг handleEventsToo полностью игнорируется.

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

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