//File:Window.xaml.cs using System; using System.IO; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Navigation; namespace InputExamples { public partial class PointHitTest { private string hitStatus;
public PointHitTest() { this.InitializeComponent(); }
CompositionTarget.Rendering += this.CompositionTarget_Rendering; } private void CompositionTarget_Rendering(object sender, EventArgs e) { Point position = Mouse.GetPosition(RectangleArea);
hitStatus = "no hit";
VisualTreeHelper.HitTest(RectangleArea,null, new HitTestResultCallback(HitTestResultHandler), new PointHitTestParameters(position) ); this.HitLabel.Content = String.Format("Result of the hit test: {0}", hitStatus); }
public HitTestResultBehavior HitTestResultHandler(HitTestResult result) { PointHitTestResult hitResult = (PointHitTestResult)result;
hitStatus = String.Format("{0} was hit at this point: {1}", ((FrameworkElement)hitResult.VisualHit).Name, hitResult.PointHit.ToString() ); return HitTestResultBehavior.Continue; } } }