Estoy usando el método VisualTreeHelper FindElementsInHostCoordinates para buscar un ListBoxItem en la ubicación X e Y dada. Sin embargo, los valores X e Y parecen estar relacionados con los puntos de toda la página, no solo con el ListBox que me interesa (aunque estoy pasando ese elemento al parámetro del subárbol del método). A continuación, esto se refiere a un control personalizado que se deriva de ListBox.FindElementsInHostCoordinates Relativo al espacio de control no completo Página
foreach (UIElement element in VisualTreeHelper.FindElementsInHostCoordinates(new Point(X, Y), this))
{
if (element is ListBoxItem)
{
int index = this.ItemContainerGenerator.IndexFromContainer(element);
break;
}
}
Por lo tanto, (0,0) habría relativa a la esquina superior izquierda del plug-in de todo no es la esquina superior izquierda del cuadro de lista. ¿Necesito hacer algo de trabajo matemático aquí (en código) para transformar las coordenadas de la página a las coordenadas del ListBox o hay alguna otra forma de hacer una prueba de impacto para decir si un punto X e Y dado está sobre un ListBoxItem?
Gracias.
Puede considerar el uso de la etiqueta sin adornos "silverlight" en sus futuras preguntas, consigue más ojos. – AnthonyWJones
Gracias por el consejo. Ponle tiza a otro en los detalles del diablo. :) – beaudetious