UIElement3D.AddHandler Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента.
Перегрузки
AddHandler(RoutedEvent, Delegate) |
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента. |
AddHandler(RoutedEvent, Delegate, Boolean) |
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента. Укажите |
AddHandler(RoutedEvent, Delegate)
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента.
public:
virtual void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler);
abstract member AddHandler : System.Windows.RoutedEvent * Delegate -> unit
override this.AddHandler : System.Windows.RoutedEvent * Delegate -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate)
Параметры
- routedEvent
- RoutedEvent
Идентификатор маршрутизируемого события для обработки.
- handler
- Delegate
Ссылка на реализацию обработчика.
Реализации
Комментарии
Вы можете добавить один и тот же обработчик для одного и того же события несколько раз, не вызывая исключения. Однако обработчик фактически вызывается несколько раз при обработке события. Поэтому подумайте, как это поведение может иметь побочные эффекты, которые следует учитывать в реализации обработчика.
Обычно этот метод используется для предоставления реализации метода доступа "add" для шаблона доступа к событиям Microsoft .NET настраиваемого перенаправленного события.
Применяется к
AddHandler(RoutedEvent, Delegate, Boolean)
Добавляет обработчик перенаправленного события для указанного перенаправленного события, помещая этот обработчик в коллекцию обработчиков текущего элемента. Укажите handledEventsToo
как true
, чтобы предоставленный обработчик вызывался для перенаправленного события, которое уже было отмечено как обработанное другим элементом на маршруте события.
public:
void AddHandler(System::Windows::RoutedEvent ^ routedEvent, Delegate ^ handler, bool handledEventsToo);
public void AddHandler (System.Windows.RoutedEvent routedEvent, Delegate handler, bool handledEventsToo);
member this.AddHandler : System.Windows.RoutedEvent * Delegate * bool -> unit
Public Sub AddHandler (routedEvent As RoutedEvent, handler As Delegate, handledEventsToo As Boolean)
Параметры
- routedEvent
- RoutedEvent
Идентификатор маршрутизируемого события для обработки.
- handler
- Delegate
Ссылка на реализацию обработчика.
- handledEventsToo
- Boolean
true
для регистрации обработчика, чтобы он вызывался даже в том случае, если перенаправленное событие помечено как обработанное в его данных события. false
для регистрации обработчика с условием по умолчанию, что он не будет вызываться, если перенаправленное событие уже помечено как обработанное.
Значение по умолчанию — false
.
Не следует постоянно прибегать к повторной обработке перенаправленного события.
Комментарии
Практическая обработка низкоуровневых входных событий является сложной задачей. Многие элементы управления реализуют поведение, когда определенное событие помечается как обработанное и заменяется другим более интуитивно понятным событием. Как правило, элемент управления помечает событие входных данных платформы как обработанное только в том случае, если для этого есть какое-то намерение. В некоторых сценариях эти намерения могут быть не теми, которые требуются для конкретной обработки входного события. Именно для этих сценариев регистрируются обработчики в handledEventsToo
соответствующем true
виде. Но вы не должны делать это обычно. Вызов обработчиков в ответ на все события, даже если они обработаны, усложнит логику обработки событий приложения. Если логика обработчика является существенной, производительность может снизиться. Следует зарезервировать использование присоединения обработчиков для уже обработанных событий в ситуациях, когда в процессе разработки вы уже обнаружили, что некоторые элементы управления обрабатывают события, которые вы по-прежнему хотите обрабатывать с помощью логики приложения.
Еще один способ избежать поведения обработки класса для определенных сочетаний элементов управления событиями заключается в использовании альтернативы предварительного просмотра этого события. Например, если MouseLeftButtonDown помечается обработано обработкой класса, можно добавить обработчики для PreviewMouseLeftButtonDown .
Вы можете добавить один и тот же обработчик для одного и того же события несколько раз, не вызывая исключения. Однако обработчик фактически вызывается несколько раз при обработке события. Поэтому подумайте, как это поведение может иметь побочные эффекты, которые следует учитывать в реализации обработчика.
Обычно этот метод используется для предоставления реализации метода доступа "add" для шаблона доступа к событиям Microsoft .NET настраиваемого перенаправленного события.