HitTestFilterBehavior 枚举

定义

在命中测试筛选器回叫方法中指定命中测试的返回行为。

public enum class HitTestFilterBehavior
public enum HitTestFilterBehavior
type HitTestFilterBehavior = 
Public Enum HitTestFilterBehavior
继承
HitTestFilterBehavior

字段

Continue 6

针对当前的 Visual 及其后代进行命中测试。

ContinueSkipChildren 2

针对当前的 Visual(但不包括其后代)进行命中测试。

ContinueSkipSelf 4

不针对当前的 Visual 进行命中测试,但针对其后代进行命中测试。

ContinueSkipSelfAndChildren 0

不针对当前的 Visual 或其后代进行命中测试。

Stop 8

在当前 Visual 处停止命中测试。

示例

以下示例演示如何从命中测试筛选器回调方法返回 HitTestFilterBehavior 值。 在这种情况下,筛选器会跳过标签及其后代,并命中测试所有其他内容。

// Filter the hit test values for each object in the enumeration.
public HitTestFilterBehavior MyHitTestFilter(DependencyObject o)
{
    // Test for the object value you want to filter.
    if (o.GetType() == typeof(Label))
    {
        // Visual object and descendants are NOT part of hit test results enumeration.
        return HitTestFilterBehavior.ContinueSkipSelfAndChildren;
    }
    else
    {
        // Visual object is part of hit test results enumeration.
        return HitTestFilterBehavior.Continue;
    }
}
' Filter the hit test values for each object in the enumeration.
Public Function MyHitTestFilter(ByVal o As DependencyObject) As HitTestFilterBehavior
    ' Test for the object value you want to filter.
    If o.GetType() Is GetType(Label) Then
        ' Visual object and descendants are NOT part of hit test results enumeration.
        Return HitTestFilterBehavior.ContinueSkipSelfAndChildren
    Else
        ' Visual object is part of hit test results enumeration.
        Return HitTestFilterBehavior.Continue
    End If
End Function

注解

命中测试筛选器回调 HitTestFilterBehavior的返回值为 ,它确定在处理可视化树进行命中测试时应执行的操作类型。 例如,如果命中测试筛选器回调返回值 ContinueSkipSelfAndChildren,则可以从命中测试结果评估中删除当前视觉对象及其后代。

注意

修剪对象的可视化树可减少命中测试结果评估阶段所需的处理量。

使用命中测试筛选器修剪可视化树
修剪可视化树

适用于