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)
- RemoveEventHandler(IXamlDirectObject, XamlEventIndex, Object)
Применяется к
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 полностью игнорируется.
См. также раздел
- AddEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- RemoveEventHandler(IXamlDirectObject, XamlEventIndex, Object)
- AddHandler(RoutedEvent, Object, Boolean)
- RemoveHandler(RoutedEvent, Object)