HitTestResultCallback Delegate
Collapse the table of content
Expand the table of content

HitTestResultCallback Delegate


Represents a callback that is used to customize hit testing. WPF invokes the HitTestResultCallback to report hit test intersections to the user.

Namespace:   System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

public delegate HitTestResultBehavior HitTestResultCallback(
	HitTestResult result


Type: System.Windows.Media.HitTestResult

The HitTestResult value that represents a visual object that is returned from a hit test.

Return Value

Type: System.Windows.Media.HitTestResultBehavior

A HitTestFilterBehavior that represents the action resulting from the hit test.

The hit test callback method defines the actions that you perform when a hit test is identified on a particular visual object in the visual tree. After you perform the actions, your callback is expected to return a HitTestResultBehavior value that determines whether to continue iterating through the visual tree for any other visual objects.

The following example shows how to invoke HitTest by using a HitTestResultCallback value. The corresponding hit test callback method is also defined.

// Capture the mouse event and hit test the coordinate point value against
// the child visual objects.
void MyVisualHost_MouseLeftButtonUp(object sender, System.Windows.Input.MouseButtonEventArgs e)
    // Retreive the coordinates of the mouse button event.
    System.Windows.Point pt = e.GetPosition((UIElement)sender);

    // Initiate the hit test by setting up a hit test result callback method.
    VisualTreeHelper.HitTest(this, null, new HitTestResultCallback(myCallback), new PointHitTestParameters(pt));

// If a child visual object is hit, toggle its opacity to visually indicate a hit.
public HitTestResultBehavior myCallback(HitTestResult result)
    if (result.VisualHit.GetType() == typeof(DrawingVisual))
        if (((DrawingVisual)result.VisualHit).Opacity == 1.0)
            ((DrawingVisual)result.VisualHit).Opacity = 0.4;
            ((DrawingVisual)result.VisualHit).Opacity = 1.0;

    // Stop the hit test enumeration of objects in the visual tree.
    return HitTestResultBehavior.Stop;

.NET Framework
Available since 3.0
Return to top
© 2015 Microsoft