2010-12-07 9 views
5

यह WPF में यूआई नियंत्रणों के नोटेशन के लिए कुछ मानक मौजूद है। कुछ हंगेरी नोटेशन की तरह।क्या WPF UI नियंत्रणों के लिए मानक नामकरण सम्मेलन है?

उदाहरण

<TextBox Name=tbNameOfTextBox/> 
<Image Name=imgOfMe/> 
<RichTextBox Name="rtbDocument"/> 

आप अंकन किस तरह इस्तेमाल करते हैं के लिए

?

और मेरा दूसरा प्रश्न तत्व में अनुक्रम, संगठन गुणों के बारे में है।

फ़ॉट उदाहरण मैं इस:

<ListBox Name="friendsListBox" 
     ItemsSource="{Binding}" 
     SelectedItem="Key" 
     Style="{DynamicResource friendsListStyle}" 
     PreviewMouseRightButtonUp="ListBox_PreviewMouseRightButtonUp" 
     PreviewMouseRightButtonDown="ListBox_PreviewMouseRightButtonDown" 
     Grid.Row="2" 
     Margin="4,4,4,4" 
     MouseRightButtonDown="FriendsListBoxMouseRightButtonDown"> 

या

<TextBox Name="TbStatus" 
      Text="{Binding Path=Message, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}" 
      Style="{StaticResource CurveTextBox}" 
      Grid.Column="1" 
      TextWrapping="Wrap" 
      Margin="3,3,3,3" LostFocus="TbStatus_LostFocus" /> 

लिस्टबॉक्स में मैं इस तरह के नाम, ItemSource, SelectedItem, और som घटनाक्रम के रूप में गुण होते हैं। उनके संगठन के लिए उपयुक्त क्या है। पहला यूआई नियंत्रण का नाम होना चाहिए, फिर घटनाओं और अंत में स्टाइल गुणों का नाम होना चाहिए?

+1

संभावित डुप्लिकेट: http: // stackoverflow।कॉम/प्रश्न/1743467/wpf-ui-element-naming-conventions –

उत्तर

4

1) नियंत्रण नामकरण

पोस्ट कोड़ी ग्रे ने सुझाव दिया पर्याप्त होना चाहिए WPF UI element naming conventions

2) इवेंट नामकरण

मैं दृश्य स्टूडियो के रूप में "< controlname ही सम्मेलन का उपयोग करना पसंद> _ < घटनानाम > "। जब आप ईवेंट का नाम टाइप करते हैं और टैब दबाते हैं तो यह आपके लिए विधि उत्पन्न करता है। कई नियंत्रणों पर इसका उपयोग करने के अलावा इसे नाम बदलने पर समय बिताने का कोई कारण नहीं दिखता - ऐसे मामले में आप हैंडलर के लिए कुछ सामान्य वर्णनात्मक नाम प्रदान करना चाहते हैं।

3) आदेश गुण

मेरा है: पहला नाम (यदि मौजूद है), पिछले घटनाओं। अन्य सभी विशेषताओं को उनके प्रभाव - समूह से संबंधित (पृष्ठभूमि, अग्रभूमि, अस्पष्टता, आदि), लेआउट से संबंधित (ऊंचाई, चौड़ाई, संरेखण) इत्यादि द्वारा समूहीकृत किया जाना चाहिए। आपकी विशेषताओं की सूची के शीर्ष पर "चौड़ाई" नहीं है और " ऊंचाई "नीचे कुछ भी।

+1

अच्छा जवाब। मैं केवल यह जोड़ूंगा कि सबसे महत्वपूर्ण बात यह है कि अपने नामकरण सम्मेलन और कोडिंग शैली में लगातार बने रहें। यह रखरखाव इतना आसान बनाता है, खासकर यदि यह कोई और आपके कोड को देख रहा है। बेशक, यह कोड-बैक पर भी लागू होता है। –

+0

@ वोंको द सेन: मैं मानता हूं, यह सबसे महत्वपूर्ण बात है –

+0

यदि ईवेंट हैंडलर इस तरह नामित हैं, और आप लोअरकेस से शुरू होने वाले फ़ील्ड के बाद इवेंट हैंडलर का नाम देते हैं, तो क्या यह कैपिटलिंग विधियों के बारे में नियम का उल्लंघन नहीं करता है? –

2

मुझे लगता है कि ज्यादातर यह व्यक्तिगत प्राथमिकताओं का मामला है इसलिए बहुत से लोग यहां मुझसे असहमत हो सकते हैं। बस जवाब दे रहा हूं कि मैं यह कैसे करता हूं।

अपने पहले प्रश्न
के लिए हम अपना पूर्व कंपनी पर इस बारे में एक लंबे चल रही चर्चा की थी और अंत में हम ऊंट आवरण नियंत्रण प्रकार और कोई संक्षिप्त रूपों के साथ समाप्त होने के साथ जाने का फैसला किया। तो अपने मामले में

<TextBox Name="nameOfTextBox"/> 
<Image Name="meImage"/> 
<RichTextBox Name="documentRichTextBox"/> 

यह सुनिश्चित करें कि कोई मानक के लिए है, लेकिन मैं इसका इस्तेमाल हर समय

अपने दूसरे प्रश्न के लिए
मुझे लगता है कि एक अच्छा तरीका पहले नाम संपत्ति रखने के लिए है, तो है संलग्न गुण (जैसे ग्रिड.रो, ग्रिड। कॉलम इत्यादि) और फिर स्टाइल। उस समूह के बाद श्रेणियों, जैसे लेआउट, visibilty आदि के बाद घटनाओं को आखिरी आना चाहिए। उदाहरण

<ListBox Name="friendsListBox" 
     Grid.Row="2" 
     Style="{DynamicResource friendsListStyle}" 
     ItemsSource="{Binding}" 
     SelectedItem="Key" 
     Margin="4,4,4,4" 
     PreviewMouseRightButtonUp="friendsListBox_PreviewMouseRightButtonUp" 
     PreviewMouseRightButtonDown="friendsListBox_PreviewMouseRightButtonDown" 
     MouseRightButtonDown="friendsListBox_MouseRightButtonDown"> 

<TextBox Name="statusTextBox" 
     Grid.Column="1" 
     Style="{StaticResource CurveTextBox}" 
     Text="{Binding Path=Message, 
         Mode=TwoWay, 
         UpdateSourceTrigger=PropertyChanged}" 
     TextWrapping="Wrap" 
     Margin="3,3,3,3" 
     LostFocus="statusTextBox_LostFocus" /> 
+0

'c_' उपसर्ग का उद्देश्य क्या है? यह क्या समस्या हल कर रहा है? –

+0

मैं भाग 2 के साथ सहमत हूं, लेकिन सी_ और नियंत्रण प्रकार अनावश्यक उपयोग नहीं है? और XAML में सबकुछ c_something नाम नहीं दिया जाएगा, जो भी अनावश्यक है? यह थोड़ा उलझन में है, क्योंकि सी_ का मतलब भी किसी के लिए, "स्थिर" हो सकता है। –

+0

जैसा मैंने जवाब में कहा था, यह व्यक्तिगत वरीयताओं का मामला है। वैसे भी, मुझे यहां से अधिक संख्या में लग रहा था इसलिए मैंने जवाब से उस भाग को हटा दिया :) –

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