RoutedEventArgs.Handled Свойство

Определение

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

public:
 property bool Handled { bool get(); void set(bool value); };
public bool Handled { [System.Security.SecurityCritical] get; [System.Security.SecurityCritical] set; }
public bool Handled { get; set; }
[<get: System.Security.SecurityCritical>]
[<set: System.Security.SecurityCritical>]
member this.Handled : bool with get, set
member this.Handled : bool with get, set
Public Property Handled As Boolean

Значение свойства

Если параметр задан, установите true значение, если событие должно быть помечено как обработанное; в противном случае false. При чтении этого значения указывает, true что обработчик класса или некоторый обработчик экземпляра по маршруту уже помечает это событие. false.указывает, что такой обработчик не помечает обработанное событие.

Значение по умолчанию — false.

Атрибуты

Примеры

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

protected override void OnPreviewMouseRightButtonDown(System.Windows.Input.MouseButtonEventArgs e)
{
    e.Handled = true; //suppress the click event and other leftmousebuttondown responders
    MyEditContainer ec = (MyEditContainer)e.Source;
    if (ec.EditState)
    { ec.EditState = false; }
    else
    { ec.EditState = true; }
    base.OnPreviewMouseRightButtonDown(e);
}
Protected Overrides Sub OnPreviewMouseRightButtonDown(ByVal e As System.Windows.Input.MouseButtonEventArgs)
    e.Handled = True 'suppress the click event and other leftmousebuttondown responders
    Dim ec As MyEditContainer = CType(e.Source, MyEditContainer)
    If ec.EditState Then
        ec.EditState = False
    Else
        ec.EditState = True
    End If
    MyBase.OnPreviewMouseRightButtonDown(e)
End Sub

Комментарии

Пометка обработанного события ограничивает видимость перенаправленного события прослушивателями по маршруту событий. Событие по-прежнему перемещается по оставшейся части маршрута, но только обработчики, специально добавленные HandledEventsTootrue в AddHandler(RoutedEvent, Delegate, Boolean) вызов метода, будут вызваны в ответ. Обработчики по умолчанию для прослушивателей экземпляров (например, которые выражаются на языке разметки расширяемых приложений (XAML)) не будут вызываться. Обработка событий, помеченных как помеченные, не является общим сценарием.

Если вы являетесь автором элемента управления, определяющим собственные события, решения, которые вы принимаете в отношении обработки событий на уровне класса, повлияют на пользователей элемента управления, а также на всех пользователей производных элементов управления, а также потенциально других элементов, содержащихся в элементе управления или содержащих элемент управления. Дополнительные сведения см. в разделе "Маркировка перенаправленных событий как обработанные" и "Обработка классов".

В очень редких случаях целесообразно обрабатывать события, в которых Handled помечены true, и изменять аргументы событий, изменяя Handledfalseих на . Это может потребоваться в определенных областях входных событий элементов управления, таких как обработка KeyDown ключей, в зависимости от TextInput того, где низкоуровневые и высокоуровневые входные события конкурируют за обработку, и каждая из них пытается работать с другой стратегией маршрутизации.

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