Windows apps
Collapse the table of content
Expand the table of content
Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

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 Function HitTestResultCallback (
	result As HitTestResult
) As HitTestResultBehavior

Parameters

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.
Private Sub MyVisualHost_MouseLeftButtonUp(ByVal sender As Object, ByVal e As MouseButtonEventArgs)
	' Retreive the coordinates of the mouse button event.
	Dim pt As Point = e.GetPosition(CType(sender, UIElement))

	' Initiate the hit test by setting up a hit test result callback method.
	VisualTreeHelper.HitTest(Me, Nothing, New HitTestResultCallback(AddressOf myCallback), New PointHitTestParameters(pt))
End Sub

' If a child visual object is hit, toggle its opacity to visually indicate a hit.
Public Function myCallback(ByVal result As HitTestResult) As HitTestResultBehavior
	If result.VisualHit.GetType() Is GetType(DrawingVisual) Then
		If (CType(result.VisualHit, DrawingVisual)).Opacity = 1.0 Then
			CType(result.VisualHit, DrawingVisual).Opacity = 0.4
		Else
			CType(result.VisualHit, DrawingVisual).Opacity = 1.0
		End If
	End If

	' Stop the hit test enumeration of objects in the visual tree.
	Return HitTestResultBehavior.Stop
End Function

.NET Framework
Available since 3.0
Return to top
Show:
© 2016 Microsoft