2010-07-18 18 views
7

में डब्ल्यूपीएफ-कंट्रोल का नामकरण जैसा कि मैंने another post में कहा है, मैं समय के पीछे कोड से सीधे नियंत्रणों तक पहुंचता हूं। मैं नियंत्रण नाम के रूप में मैं ControlTemplates और DataTemplates में भी मैं ऐसा करते हैं तो मैं उन्हें उपसर्ग PART_ देने के लिए और है कि मैं सटीक नाम, उदाहरण के लिए ...मार्कअप

<TextBox Name=”PART_UserName” /> 

के बाद एक आम WPF नामकरण के खिलाफ इस है योजना? पूर्व मैं उपसर्ग M_ वर्णन के बाद ...

<TextBox Name=”m_userName” /> 

इस्तेमाल किया .. क्योंकि वास्तविकता में इसके ठीक इसी है, लेकिन मुझे यह पसंद आया नहीं है। आपको क्या लगता है? कृपया ध्यान दें, मैं चर्चा नहीं करना चाहता कि एमवीवीएम का उपयोग करना है या नहीं। ऐसी स्थितियां हैं जिन पर मुझे परवाह नहीं है।

उत्तर

11

पैटर्न PART_<name> का उपयोग तब किया जाता है जब आप कस्टम नियंत्रण लिखते हैं जिसे पुनः संयोजित किया जा सकता है। ये टेम्पलेट के अनिवार्य हिस्सों के नाम हैं, जिनके बिना नियंत्रण काम नहीं कर सकता है। इस तरह के नाम आमतौर पर सी # कोड में एक [TemplatePart] विशेषता के साथ घोषणा की जाती है:

[TemplatePart(Name = "PART_TextBox", Type = typeof(TextBox))] 
[TemplatePart(Name = "PART_UpButton", Type = typeof(Button))] 
[TemplatePart(Name = "PART_DownButton", Type = typeof(Button))] 
public class NumericUpDown : Control 
{ 
    ... 

    protected override OnApplyTemplate() 
    { 
     base.OnApplyTemplate(); 

     // Find controls in the template 
     TextBox textBox = Template.FindName("PART_TextBox", this) as TextBox; 
     Button upButton = Template.FindName("PART_UpButton", this) as Button; 
     Button downButton = Template.FindName("PART_DownButton", this) as Button; 

     // Do something with the controls... 
     ... 
    } 

    ... 
} 

तो जब तक आप एक नियंत्रण टेम्पलेट लिख रहे हैं, वहाँ है कि नामकरण पैटर्न का उपयोग करने के लिए कोई कारण नहीं है। जब तक यह आपके लिए समझ में आता है, बस अपने नियंत्रणों को बस जो भी आप पसंद करते हैं उसका नाम दें।

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