HitTestFilterBehavior 枚举

定义

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

C#
public enum HitTestFilterBehavior
继承
HitTestFilterBehavior

字段

名称 说明
Continue 6

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

ContinueSkipChildren 2

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

ContinueSkipSelf 4

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

ContinueSkipSelfAndChildren 0

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

Stop 8

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

示例

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

C#
// 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;
    }
}

注解

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

备注

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

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

适用于

产品 版本
.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, 4.8.1
Windows Desktop 3.0, 3.1, 5, 6, 7, 8, 9