2010-01-04 14 views
7

Tengo Ellipse en un Canvas y estoy haciendo Hit Testing en él. Cada vez que hago clic en el trazo Ellipse, la prueba pasa. Si hago clic en el medio de Ellipse, la prueba falla. Esto es bueno!Hit Testing en WPF

Después de llenar la elipse como este: myEllipse.Fill = new SolidColorBrush(Colors.Blue);, la prueba también cuando hago clic en el medio de Ellipse.

¿Cómo puedo desactivar esto? (incluso cuando Ellipse está lleno, la prueba fallará cuando haga clic en el centro) ¡Gracias!

Respuesta

8

Si usted hace su propia prueba de posicionamiento (véase Hit Testing in the Visual Layer para obtener detalles sobre cómo hacer esto), usted debe ser capaz de verificar la IntersectionDetail del GeometryHitTestResult es IntersectionDetail.Intersects, y no IntersectionDetail.FullyContains.

+0

El enlace a 4.5 no muestra (?) ... pero 4.0 funciona. [Hit Testing en la capa visual] (https://msdn.microsoft.com/en-us/library/vstudio/ms752097%28v=vs.100%29.aspx) – OmegaMan

0

¿No puedes poner una elipse más pequeña en el medio y establecer IsHitTestVisible = "false"?

+1

Esto no evitará que la elipse inferior sea atacada IsHitTestVisible = false hace que ese elemento sea invisible para las pruebas de impacto, pero no afecta a los elementos que se encuentran debajo del elemento afectado. –