हमारे पास एक बहुत बड़ा बाल नियंत्रण है जो इसकी विस्तार को प्रदर्शित करने के लिए बहुत अधिक प्रतिपादन करता है, लेकिन चूंकि उस नियंत्रण का केवल एक हिस्सा वास्तव में दिखाई देता है (यह पदानुक्रम को आगे बढ़ाता है, जरूरी नहीं कि इसके तत्काल माता-पिता) हम केवल वांछित हैं ऑनरेंडर कॉल के दौरान दृश्य भाग प्रस्तुत करने के लिए।क्या प्रतिपादन अनुकूलित करने के लिए नियंत्रण की दृश्य सीमा निर्धारित करने का कोई आसान तरीका है?
निम्नलिखित तस्वीर पर विचार करें। बच्चा 100x50 है लेकिन दृश्य क्षेत्र बाल समन्वय में (10,5) और (100,50) पर कोनों के साथ एक आयताकार है। वह क्षेत्र है जिसे हम ढूंढ रहे हैं।
ध्यान दें: आप नहीं बस कतरन क्योंकि यह पैरेंट कि कतरन कर रहा है नहीं हो सकता है के लिए माता पिता और परीक्षण करने के लिए बच्चे से होने वाले रूपांतरण समन्वय कर सकते हैं।
स्क्रॉलव्यूअर के अंदर नेस्टेड कैनवास नियंत्रण पर विचार करें। आंतरिक कैनवास बाहरी कैनवास की सीमाओं के भीतर पूरी तरह से पूरी तरह से रख सकता है, लेकिन बाहरी कैनवास को स्क्रॉलव्यूयर द्वारा क्लिप किया जा सकता है, इस प्रकार आंतरिक कैनवास भी इसके द्वारा चिपकाया जाता है।
दृश्य पेड़ पर चलना और प्रत्येक माता-पिता का परीक्षण करना प्रदर्शन को मार देगा।
तो क्या डब्ल्यूपीएफ में कुछ भी बनाया गया है जो नियंत्रण के दृश्य क्षेत्र की सीमाएं प्राप्त कर सकता है?
यह धागा मदद कर सकता है आप क्या चाहते: http://stackoverflow.com/questions/1517743/in-wpf-how-can-i-determine-whether-a-control-is-visible उपयोगकर्ता के लिए –
नहीं! यह सिर्फ सीमा-जांच है (ऊपर मेरा 'नोट' देखें।) यह वास्तव में दिखाई नहीं देता है कि क्या दिखाई दे रहा है। – MarqueIV
अंधेरे में बस एक स्टैब - IsMouseDirectlyOver संपत्ति के आंतरिक में देखने के लिए परावर्तक का उपयोग करें (अधिकांश WPF नियंत्रणों पर पाया गया है, शायद फ्रेमवर्क एलिमेंट से विरासत में मिला है)। यह संपत्ति निर्धारित करने के लिए नेस्टेड ऑब्जेक्ट्स के माध्यम से दिखती है कि माउस सीधे सटीक विशिष्ट नियंत्रण पर है या नहीं। मैं सोच रहा हूं कि आप सीमाओं की जांच के लिए समान तर्क का उपयोग करने में सक्षम हो सकते हैं ... – Marko