Прочитать на английском

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


UIElement.RemoveHandler(RoutedEvent, Delegate) Метод

Определение

Удаляет указанный обработчик маршрутизируемого события из этого элемента.

C#
public void RemoveHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);

Параметры

routedEvent
RoutedEvent

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

handler
Delegate

Конкретная реализация удаляемого обработчика из коллекции обработчиков событий этого элемента.

Реализации

Примеры

В следующем примере используется RemoveHandler как часть определения оболочки события.

C#
public static readonly RoutedEvent TapEvent = EventManager.RegisterRoutedEvent(
    "Tap", RoutingStrategy.Bubble, typeof(RoutedEventHandler), typeof(MyButtonSimple));

// Provide CLR accessors for the event
public event RoutedEventHandler Tap
{
        add { AddHandler(TapEvent, value); } 
        remove { RemoveHandler(TapEvent, value); }
}

Комментарии

Наиболее распространенным сценарием использования этого API является реализация события "оболочки" среды CLR, связанного с пользовательским перенаправленным событием, в частности при реализации логики удаления обработчиков на уровне СРЕДЫ CLR. В примере, следующем за этим разделом примечаний, показан этот сценарий.

Вызов этого метода не оказывает влияния, если обработчики не зарегистрированы с помощью условий, соответствующих входным параметрам вызова метода.

Если несколько обработчиков подключены, соответствующие условиям, удаляется только первый обработчик в хранилище обработчиков событий. Это поведение согласуется с поведением -= оператора CLR.

Ни не routedEvent handler может быть null. Попытка указать любое значение, как null это приведет к возникновению исключения.

Этот метод игнорирует handledEventsToo сведения о параметрах, которые предоставляются при первом добавлении обработчика с подписью AddHandler(RoutedEvent, Delegate, Boolean) , которая обеспечивает обработку уже обработанных событий. Удаляется любой тип обработчика.

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

Продукт Версии
.NET Framework 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8
Windows Desktop 3.0, 3.1, 5, 6, 7

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