2010-02-24 20 views

उत्तर

6

एक शैली को नियंत्रित करता है एक नियंत्रण के अलग-अलग गुण। उदाहरण के लिए, एक बटन शैली कह सकती है, "प्रत्येक बटन के लिए, इस पृष्ठभूमि का उपयोग करें।" एक शैली नियंत्रण पर एक ही संपत्ति बदल रही है।

एक नियंत्रण टेम्पलेट वास्तव में यह नियंत्रित करता है कि नियंत्रण अपने बाध्य डेटा को कैसे प्रदर्शित करता है। कहने के बजाय, "मैं एक नियंत्रण के गुणों को ओवरराइड करना चाहता हूं," आप एक ही नियंत्रण में अन्य छोटे नियंत्रणों को एक साथ जोड़ रहे हैं जो बाध्य डेटा के विभिन्न विचार प्रस्तुत कर सकते हैं।

पहले WinForms में, यदि आप एक कस्टम सूची बॉक्स लिखना चाहते थे (कहें कि प्रत्येक आइटम के बगल में एक आइकन था), तो आपको ListView नियंत्रण से प्राप्त करना होगा और पेंटिंग विधियों को ओवरराइड करना होगा। इसमें प्रयोग का एक टन शामिल था - भारी दर्द। WPF टेम्पलेट्स के साथ, आप XAML का उपयोग छोटे नियंत्रणों को एक साथ बनाने और अभिभावक नियंत्रण के विभिन्न गुणों से बांधने के लिए कर सकते हैं। आप वास्तव में नियंत्रण के लिए विजुअल ट्री को परिभाषित कर रहे हैं।

चार्ल्स पेटज़ोल्ड द्वारा गहराई से स्पष्टीकरण के लिए this आलेख देखें।

+0

हैलो, विस्तृत स्पष्टीकरण और लेख के लिंक के लिए बहुत बहुत धन्यवाद। जैसे ही मैं कर सकता हूं मैं इसे देख लूंगा। –

3

कल्पना करें कि आपका नियंत्रण एक घर है।

Style अवधारणात्मक रूप से एक नई कालीन डालने और दीवारों को चित्रित करने के समान ही है। घर अभी भी वही है लेकिन इसकी बाहरी उपस्थिति अलग है।

ControlTemplate दीवार को खटखटाए या एक कंज़र्वेटरी जोड़ने के बराबर है। घर के वास्तविक संरचना बदल गई है।

जब आप नियंत्रण ई.जी. की बाहरी उपस्थिति को बदलना चाहते हैं तो Style का उपयोग करें। यह पृष्ठभूमि रंग या इसकी सीमा की मोटाई है।

नियंत्रण की अंतर्निहित संरचना को बदलने की आवश्यकता होने पर ControlTemplate का उपयोग करें। यह तब उपयोगी होता है जब आप नियंत्रण के कुछ पहलुओं के लेआउट को बदलना चाहते हैं। एक अच्छा उदाहरण this आलेख में है जो Microsoft Outlook से नेविगेटर की तरह दिखने के लिए TabControl को फिर से टेम्पलेट करता है।

संबंधित मुद्दे