wPF VisualTreeHelper.GetParent returns wrong class? -


मेरे पास निम्न XAML परिभाषित है।

  & lt; popup x: class = "EMS । Control.Dictionary.MapTip "xmlns =" ​​http://schemas.microsoft.com/winfx/2006/xaml/presentation "xmlns: x =" http://schemas.microsoft.com/winfx/2006/xaml "पॉपअपएनिमेशन = "स्लाइड" की अनुमति देता है Transparency = "true" प्लेसमेंट = "माउस" x: name = "root" & gt; & LT; Popup.Resources & gt; & LT; ResourceDictionary & gt; & LT; ResourceDictionary.MergedDictionaries & gt; & Lt; संसाधन स्रोत स्रोत = "../ संसाधन / शैलियाँ। Xml" / & gt; & LT; /ResourceDictionary.MergedDictionaries> & Lt; / ResourceDictionary & gt; & LT; /Popup.Resources> & Lt; Viewbox x: नाम = "दृश्य बॉक्स" IsHitTestVisible = "True" & gt; & Lt; ग्रिड पृष्ठभूमि = "पारदर्शी" नाम = "मुख्य ग्रिड" & gt; & Lt; / ग्रिड & gt; & Lt; / Viewbox & gt; & Lt; / पॉपअप & gt;  

अगर मैं विजुअलट्रीहेल्पर का उपयोग करते हुए विजुअल ट्री पर चल रहा हूं। गेटपरेंट को "मेन ग्रिड" से, मैं अंततः सिस्टम मिलता है। विन्डोज़। नियंत्रण। प्रीमीटिव। पॉपअपटूट, लेकिन पॉपअप खुद ही कभी नहीं मिलता। कोई भी यह सिद्धांत है कि यह क्यों है और इसके बारे में मैं इसके बारे में क्या कर सकता हूं? मैं पॉपअप और पॉपअप Root की ज़रूरत नहीं है।

TIA।

एक पॉपअप में सामग्री एक अलग दृश्य वृक्ष में एक अभिभावक के साथ जोड़ा जाता है जो पॉपअपटूट है लेकिन आप इस स्निपेट के साथ पॉपअप प्राप्त करने के लिए लॉजिकल ट्री सहायक का उपयोग कर सकते हैं:

  LogicalTreeHelper.GetParent ()  < / P> 

MSDN से:

जब आप एक पॉपअप नियंत्रण में सामग्री जोड़ते हैं, तो पॉपअप नियंत्रण सामग्री के लिए तार्किक मूल हो जाता है। इसी प्रकार, पॉपअप सामग्री को पॉपअप का तार्किक बच्चा माना जाता है विज़ुअल ट्री में बच्चे की सामग्री को जोड़ा नहीं जाता है जिसमें पॉपअप नियंत्रण होता है। इसके बजाय, बच्चे की सामग्री को एक अलग विंडो में प्रदान किया जाता है जिसकी आकृति ऑब्जेक्ट है जब कि IsOpen संपत्ति को सही पर सेट किया जाता है।

++


Comments