मैं दिए गए एक्स और वाई स्थान पर ListBoxItem खोजने के लिए VisualTreeHelper विधि FindElementsInHostCoordinates का उपयोग कर रहा हूं। हालांकि, एक्स और वाई मान पूरे पृष्ठ में बिंदुओं से संबंधित प्रतीत होता है न केवल उस सूची बॉक्स में जिसमें मुझे रूचि है (भले ही मैं उस तत्व में विधि के उप-पैरामीटर पैरामीटर में गुजर रहा हूं)। नीचे, यह एक कस्टम नियंत्रण को संदर्भित करता है जो ListBox से निकला है।FindElementsInHostCoordinates अंतरिक्ष को नियंत्रित करने के लिए संबंधित नहीं है पृष्ठ
foreach (UIElement element in VisualTreeHelper.FindElementsInHostCoordinates(new Point(X, Y), this))
{
if (element is ListBoxItem)
{
int index = this.ItemContainerGenerator.IndexFromContainer(element);
break;
}
}
तो, (0,0) पूरे प्लग-इन नहीं ऊपरी बाएँ ListBox के कोने के ऊपरी बाएं कोने के सापेक्ष होगा। क्या मुझे पृष्ठ निर्देशांक को सूची बॉक्स कोऑर्डिनेट्स में बदलने के लिए स्वयं (कोड में) कुछ गणितीय कार्य करने की आवश्यकता है या क्या कोई हिट टेस्ट करने का कोई अन्य तरीका है यह बताने के लिए कि कोई दिया गया एक्स और वाई बिंदु ListBoxItem पर है या नहीं?
धन्यवाद।
आप अपने भविष्य के प्रश्नों में अनजान "चांदी की रोशनी" टैग का उपयोग करने पर विचार कर सकते हैं, यह अधिक आंखों को प्राप्त करता है। – AnthonyWJones
टिप के लिए धन्यवाद। विवरण में शैतान के लिए एक और चॉकलेट। :) – beaudetious