2011-09-27 6 views
25

के बीच क्या अंतर है ContentControl.Template और ContentControl.ContentTemplate के बीच क्या अंतर है? और मैं कब उपयोग करूं?ContentControl.Template और ContentControl.ContentTemplate

उदाहरण के लिए मैं WPF के लिए एक XAML फाइल में लिख सकते हैं:

<ContentControl> 
    <ContentControl.Template> 
     <ControlTemplate> 
      <Label Content="This is from the Template"/> 
     </ControlTemplate> 
    </ContentControl.Template> 
</ContentControl> 

सूचना ContentControl। खाका टैग

या मैं इस लिख सकते हैं:

<ContentControl> 
    <ContentControl.ContentTemplate> 
     <DataTemplate> 
      <Label Content="This is From the ContentTemplate"/> 
     </DataTemplate> 
    </ContentControl.ContentTemplate> 
</ContentControl> 

सूचना ContentControl। ContentTemplate टैग

आउटपुट समान दिखता है और पहले मामले में मैं एक नियंत्रण टेम्पलेट का उपयोग करता हूं और दूसरे में डेटा टेम्पलेट का उपयोग करता हूं। हालांकि, अगर मुझे उपयोग करना है तो मुझे कैसे धोखा देना चाहिए। टेम्पलेट या .Content टेम्पलेट? और इसका क्या प्रभाव है (ई। जी। डेटा बाइंडिंग, संपत्ति विरासत, ...) पर।

उत्तर

18

Template संपत्ति नियंत्रण की उपस्थिति को परिभाषित करती है और ContentTemplate नियंत्रण के Content क्षेत्र के टेम्पलेट को परिभाषित करता है। MSDN से दिलचस्प बिंदु:

एक नियंत्रण एक ControlTemplate नहीं है, तो, नियंत्रण अपने आवेदन में दिखाई नहीं देगा।

यह और अधिक स्पष्ट हो जाता है जब हम दोनों गुणों के डेटा प्रकार पर एक नज़र डालें:

+1

'टेम्पलेट' संपत्ति का प्रकार' ControlTemplate' है, न कि 'ContentControl' – romanoza

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