XamlDirect.RemoveEventHandler Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Удаляет указанный обработчик событий из этого объекта IXamlDirectObject. Как правило, рассматриваемый обработчик был добавлен 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)
Параметры
- 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);
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);
Комментарии
RemoveEventHandler можно использовать только для удаления обработчиков событий для событий, поддерживаемых перечислением XamlEventIndex .
Вызов этого метода не оказывает влияния, если не зарегистрированы обработчики с условиями, которые соответствуют входным параметрам для вызова метода.
Этот метод игнорирует, был ли параметр handledEventsToo true в вызове XamlDirect.AddEventHandler , который первоначально присоединил обработчик.