एक बहुत अच्छा कारण ActualWidth
करने के लिए (जाहिर है ActualHeight
तदनुसार) बाध्य करने के लिए उपयोग करने के लिए नहीं है। जब आप किसी तत्व के Width
को ActualWidth
पर सेट करते हैं तो आप लेआउट चेन तोड़ सकते हैं।
सर्वश्रेष्ठ मामले में माता-पिता (बाध्यकारी स्रोत) की लेआउट प्रक्रिया समाप्त होने के बाद आपके तत्व/नियंत्रण को पार्स किया जाना आवश्यक है। इसका मतलब अतिरिक्त समय है। यदि यह समान पदानुक्रम स्तर पर है, तो माता-पिता के रूप में लेआउट प्रक्रिया को एक निश्चित आकार की गणना करने के लिए दो रन (कम से कम) की आवश्यकता होती है।
<Rectangle DockPanel.Dock="Top" Width="{TemplateBinding ActualWidth}"
Height="1" Fill="#000000"/>
जब युक्त विंडो का आकार बदलने, नियंत्रण:
उदाहरण के लिए मैं एक नियंत्रण है जो इसे आकार संपत्ति एक शैली में अधिरोहित है कि यह TemplatedParent
(ऐसा नहीं करते) करने के लिए सेट होता था कंटेनर को छोटे होने और लेआउट ब्रेक करने से रोक देगा। Width
के लिए यह निर्धारित करना समस्या (करते हैं) हल होगा:
<Rectangle DockPanel.Dock="Top" Width="{TemplateBinding Width}"
Height="1" Fill="#000000"/>
आप उपयोग करना सामान्य कुछ में ActualWidth
अपने XAML साथ कुछ गड़बड़ है है। लेआउट रन के अंतिम आकार के साथ गड़बड़ करने की बजाए बेहतर सुधार करें।
यह वास्तव में लेआउट आकार प्रदान नहीं किया गया आकार है। – chuckj
@chuckj, प्रस्तुत आकार प्राप्त करने के लिए कोई विशेषता किस प्रकार उपयोग करेगी? – dumbledad
@ डंबलड 'रेंडरसाइज। विथथ' – Mafii