HitTestFilterBehavior HitTestFilterBehavior HitTestFilterBehavior HitTestFilterBehavior Enum

Definition

Specifies the return behavior of a hit test in a hit test filter callback method.

public enum class HitTestFilterBehavior
public enum HitTestFilterBehavior
type HitTestFilterBehavior = 
Public Enum HitTestFilterBehavior
Inheritance
HitTestFilterBehaviorHitTestFilterBehaviorHitTestFilterBehaviorHitTestFilterBehavior

Fields

Continue Continue Continue Continue 6

Hit test against the current Visual and its descendants.

ContinueSkipChildren ContinueSkipChildren ContinueSkipChildren ContinueSkipChildren 2

Hit test against the current Visual, but not its descendants.

ContinueSkipSelf ContinueSkipSelf ContinueSkipSelf ContinueSkipSelf 4

Do not hit test against the current Visual, but hit test against its descendants.

ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren ContinueSkipSelfAndChildren 0

Do not hit test against the current Visual or its descendants.

Stop Stop Stop Stop 8

Stop hit testing at the current Visual.

Examples

The following example shows how to return a HitTestFilterBehavior value from a hit test filter callback method. In this case, the filter skips labels and their descendants and hit tests everything else.

// 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

Remarks

The return value of the hit test filter callback is a HitTestFilterBehavior, which determines what type of action should be taken when processing the visual tree for hit testing. For example, if your hit test filter callback returns the value ContinueSkipSelfAndChildren, you can remove the current visual object and its descendants from the hit test results evaluation.

Note

Pruning the visual tree of objects decreases the amount of processing that is required during the hit test results evaluation pass.

Pruning a visual tree using a hit test filter
Pruning a visual tree

Applies to