HitTestFilterBehavior 枚举
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
在命中测试筛选器回叫方法中指定命中测试的返回行为。
public enum class HitTestFilterBehavior
public enum HitTestFilterBehavior
type HitTestFilterBehavior =
Public Enum 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
,则可以从命中测试结果评估中删除当前视觉对象及其后代。
注意
修剪对象的可视化树可减少命中测试结果评估阶段所需的处理量。
修剪可视化树