WPF , , Canvas . , Canvas PreviewMouseMove Canvas Rectangle.
[]
, e.OriginalSource, , . :
private void pMouseMove(object sender, MouseEventArgs e)
{
Console.WriteLine("OriginalSource:" + e.OriginalSource.ToString());
}
, e.OriginalSource, , . , : e.OriginalSource Rectangle, PreviewMouseMove , e.OriginalSource Canvas. - Rectangle, ( , Reflector, . , .
rect.IsHitTestVisible = false;, Rectangle e.OriginalSource - PreviewMouseMove Canvas. VisualTreeHelper.HitTest, , Rectangle.
, , , .
:
rect.Fill = Brushes.Black;
rect.IsHitTestVisible = false;
Can.Children.Add(rect);
PreviewMouseMove:
private void pMouseMove(object sender, MouseEventArgs e)
{
HitTestResult result = VisualTreeHelper.HitTest(rect, e.GetPosition(sender as UIElement));
if (result != null) {
Debug.WriteLine("Mouse inside rect")
}
else {
Debug.WriteLine("Mouse outside rect");
}
}