मैं एमएसडीएन में इस UpdateLayout() method के बारे में पढ़ रहा था।मुझे एक उदाहरण दे सकता है कि UIElement.UpdateLayout() का उपयोग कब करना चाहिए?
इसे कहते हैं:
सुनिश्चित करता है कि इस तत्व की सभी दृश्य बच्चे तत्व पूरी तरह हैं लेआउट के लिए अद्यतन किया गया।
लेकिन मुझे समझ नहीं आता क्या लेआउट का क्या मतलब है ठीक से नहीं अद्यतन किया गया।
मैं एक साल से अधिक के लिए सिल्वरलाइट/डब्ल्यूपीएफ के साथ काम कर रहा हूं, लेकिन मैंने अभी भी इस विधि का उपयोग नहीं किया है।
तो क्या कोई मुझे ऐसा उदाहरण दे सकता है जिसके लिए इस विधि का उपयोग करने की आवश्यकता होगी? तो मैं वास्तव में समझ सकता हूं कि यह क्या करता है और जब मुझे इसका उपयोग करना चाहिए?
ओह वाह, जैसा कि आपने कहा था कि यह वास्तव में काम करता है! मैंने एक ग्रिड और एक बटन गतिशील रूप से बनाने की कोशिश की। ग्रिड में जोड़े जाने के बाद बटन 'ActualHeight/ActualWidth' में केवल' 0.00' है, लेकिन एक बार जब मैं 'अपडेटलाउट' निष्पादित करता हूं तो यह मुझे वास्तविक मान देता है! अब मैं देखता हूं कि मैं किसके लिए उपयोग कर सकता हूं, धन्यवाद! +1 –
+1 बिल्कुल जो मैं देख रहा था; UpdateLayout() पर कॉल करने के बाद, ActualWidth उपलब्ध हो गया। – Sabuncu
आज एक और परिदृश्य मैंने सामना किया। कस्टम कम्बोबॉक्स के लिए 'ऑनड्रॉपडाउन ओपेन' में मुझे 'ItemContainerGenerator.ContainerFromItem' को कॉल करने की आवश्यकता थी, लेकिन यह पहली कॉल के लिए शून्य हो गई, और बाद में 'ऑनड्रॉपडाउन ओपन' कॉल में ठीक काम किया। मुझे 'ContainerFromItem' को कॉल करने से पहले UpdateLayout() जोड़ना पड़ा, और फिर उसने पहली कॉल के लिए भी काम करना शुरू कर दिया। मुझे पता है कि वैकल्पिक समाधान 'वर्चुअलाइजिंगस्टैक पैनेल' का उपयोग करके वर्चुअलाइजिंग को बंद करना होगा, लेकिन मैं प्रदर्शन कारणों से ऐसा नहीं करना चाहता था। – JustAMartin