J'utilise la méthode VisualTreeHelper FindElementsInHostCoordinates pour trouver un ListBoxItem à l'emplacement X et Y donné. Cependant, les valeurs X et Y semblent être liées à des points de la page entière et pas seulement au ListBox qui m'intéresse (même si je passe cet élément dans le paramètre subtree de la méthode). Ci-dessous, cela fait référence à un contrôle personnalisé qui dérive de ListBox.FindElementsInHostCoordinates Relatif à l'espace de contrôle pas entier Page
foreach (UIElement element in VisualTreeHelper.FindElementsInHostCoordinates(new Point(X, Y), this))
{
if (element is ListBoxItem)
{
int index = this.ItemContainerGenerator.IndexFromContainer(element);
break;
}
}
Ainsi, (0,0) serait par rapport au coin supérieur gauche du plug-in entier ne le coin supérieur gauche de la zone de liste. Ai-je besoin de faire un peu de travail mathématique ici (en code) pour transformer les coordonnées de la page en coordonnées ListBox ou y a-t-il un autre moyen de tester si un point X et Y donné dépasse un ListBoxItem?
Merci.
Vous pourriez envisager d'utiliser la balise "silverlight" sans fioritures dans vos futures questions, cela attire plus de regards. – AnthonyWJones
Merci pour le conseil. Craie un autre sur le diable dans les détails. :) – beaudetious