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


IXamlDirect.AddEventHandler Метод

Определение

Перегрузки

AddEventHandler(Object, XamlEventIndex, Object)

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

AddEventHandler(Object, XamlEventIndex, Object, Boolean)

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

AddEventHandler(Object, XamlEventIndex, Object)

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Параметры

xamlDirectObject
Object

Platform::Object

IInspectable

Ссылка на объект, получающий обработчик событий.

eventIndex
XamlEventIndex

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

handler
Object

Platform::Object

IInspectable

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

Атрибуты

Примеры

В следующем примере показано, как добавить или изменить событие PointerEntered с помощью определенного экземпляра PointerEventHandler в элементе управления ToggleSwitch из своего экземпляра IXamlDirect .

XamlDirect xd = XamlDirect.GetDefault();

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

IXamlDirect^ 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(Object, XamlEventIndex, Object, Boolean)

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

Эта документация относится к WinUI 2 для UWP (для WinUI в Windows App SDK см. Windows App SDK пространства имен).

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

Параметры

xamlDirectObject
Object

Platform::Object

IInspectable

Ссылка на текущий IXamlDirect.

eventIndex
XamlEventIndex

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

handler
Object

Platform::Object

IInspectable

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

handledEventsToo
Boolean

bool

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

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

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

Атрибуты

Примеры

XamlDirect xd = XamlDirect.GetDefault();

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

IXamlDirect^ 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 полностью игнорируется.

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

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