HitTestResultCallback Delegate
Represents a callback that is used to customize hit testing. WPF invokes the HitTestResultCallback to report hit test intersections to the user.
Assembly: PresentationCore (in PresentationCore.dll)
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.HitTestResultBehaviorA 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; } else { ((DrawingVisual)result.VisualHit).Opacity = 1.0; } } // Stop the hit test enumeration of objects in the visual tree. return HitTestResultBehavior.Stop; }
Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)
The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.