माउस खो के साथ इस मुद्दे जब भी तेजी से आगे बढ़,
हल किया जा सकता है इस MSDN से लिया जाता है:
नई विंडो बाल शामिल पॉपअप की सामग्री।
पॉपअप नियंत्रण एक लॉजिकल बच्चे के रूप में अपनी बाल सामग्री का संदर्भ रखता है। जब नई विंडो बनाई जाती है, तो पॉपअप की सामग्री विंडो का दृश्य बच्चा बन जाती है और पॉपअप का तार्किक बच्चा बनी हुई है। इसके विपरीत, पॉपअप अपनी बाल सामग्री का तार्किक अभिभावक बना हुआ है।
दूसरे शब्दों में, पॉपअप के बच्चे स्टैंडअलोन विंडो में प्रदर्शित किया जाता है।
तो निम्न की कोशिश करते समय:
Popup.CaptureMouse()
रैपर विंडो को कैप्चर कर रहा है, न कि पॉपअप स्वयं। इसके बजाय Popup.Child.CaptureMouse()
का उपयोग वास्तविक पॉपअप को कैप्चर करता है।
और अन्य सभी घटनाओं को Popup.Child
का उपयोग करके पंजीकृत किया जाना चाहिए। Popup.Child.MouseMove
, Popup.Child.LostCapture
और इतने
पर यह परीक्षण किया गया है और पूरी तरह से ठीक काम करता है
तरह
शायद मुझे कुछ आसान याद आ रहा है कि एक अनुभवी WPF डेवलपर को पता चलेगा, लेकिन यह फिर से उपयोग करने योग्य कैसे है? जब मैं एक अलग XAML संदर्भ में नियंत्रण लगाता हूं (जैसे कि इसे विंडो में पुन: उपयोग करने का प्रयास करना) कोई भी सामग्री जो मैं निर्दिष्ट करता हूं वह कैनवास तत्व को ओवरराइड करता है जिस पर अंगूठे बंधी होती है। – Vassi
मैंने इस समाधान की कोशिश की है। बहुत अच्छा काम करता है! धन्यवाद जैकब। मुझे केवल एक मुद्दा का सामना करना पड़ रहा है: मेरे पास इस थंब के अंदर एक दृश्य है और मैं पूरे दृश्य को ठीक करने में सक्षम हूं, हालांकि यदि उस दृश्य में स्क्रॉलबार है, तो स्क्रॉलबार खींचने से अंगूठे को खींचने का कारण बन रहा है, और इसलिए संपूर्ण दृश्य। इससे बचने का कोई रास्ता है क्या? – Shankar