कॉल InitializeComponent()
को (जो आमतौर पर कम से कम Window
और UserControl
के डिफ़ॉल्ट निर्माता में कहा जाता है) वास्तव में नियंत्रण (बजाय के रूप में मैं पहले की उम्मीद वस्तु पदानुक्रम एक फोन तक) की आंशिक वर्ग के लिए एक विधि कॉल है ।
यह विधि Window
/UserControl
के लिए XAML में यूआरआई को ढूंढती है जो लोड हो रही है, और इसे System.Windows.Application.LoadComponent()
स्थैतिक विधि में भेजती है। LoadComponent()
यूआरआई में पारित XAML फ़ाइल लोड करता है, और इसे XAML फ़ाइल के मूल तत्व द्वारा निर्दिष्ट ऑब्जेक्ट के उदाहरण में परिवर्तित करता है।
अधिक जानकारी में, LoadComponent
XamlParser
का एक उदाहरण बनाता है, और XAML का एक पेड़ बनाता है। प्रत्येक नोड को XamlParser.ProcessXamlNode()
द्वारा पार्स किया जाता है। यह BamlRecordWriter
कक्षा में पारित हो जाता है। इसके कुछ समय बाद मुझे बीएएमएल वस्तुओं में परिवर्तित करने में थोड़ा सा खो गया, लेकिन यह ज्ञान के मार्ग पर आपकी मदद करने के लिए पर्याप्त हो सकता है।
नोट: दिलचस्प है, InitializeComponent
System.Windows.Markup.IComponentConnector
इंटरफ़ेस है, जो की Window
/UserControl
आंशिक उत्पन्न कक्षा में लागू पर एक विधि है।
आशा है कि इससे मदद मिलती है!
स्रोत
2008-10-29 05:21:20
धन्यवाद, मुझे लगता है कि ये नीचे बहुत अच्छे जवाब हैं! किसी ने भी अटैचडप्रॉपर्टीज का बिल्कुल उल्लेख नहीं किया है, लेकिन अब मुझे पता है कि एक्सएएमएल में किसी भी संलग्नप्रॉपर्टीज को एक्समल पार्सिंग के हिस्से के रूप में बनाया गया है, इसलिए वे वास्तव में विशेष उल्लेख के लायक नहीं हैं। –