2012-09-06 19 views
0

使用WPF時總會讓我感到困惑的事情之一是命名約定。我對狀態欄項目使用什麼命名約定?

原來這就是我對XAML:

<StatusBar Grid.Row="2" MinHeight="20" Name="StatusBar"> 
     <StatusBarItem> 
      <Border BorderBrush="Black" BorderThickness=".25,.25,0,0"> 
       <Border BorderBrush="White" BorderThickness="0,0,.25,.25"> 
        <TextBlock Name="StatusBarText" Margin="2,2,2,2" >Ready</TextBlock> 
       </Border> 
      </Border> 
     </StatusBarItem> 

     <StatusBarItem> 
      <Border BorderBrush="Black" BorderThickness=".25,.25,0,0"> 
       <Border BorderBrush="White" BorderThickness="0,0,.25,.25"> 
        <TextBlock Name="FilePathText" Margin="2,2,2,2" >File Path</TextBlock> 
       </Border> 
      </Border> 
     </StatusBarItem> 
    </StatusBar> 

TextBlock的內容將數據綁定。我真的不知道該如何命名我的用戶界面元素和屬性,以避免任何可能的歧義。

public string StatusBarText 
    //Maybe StatusText instead of StatusBarText since this 
    //indicates the current status of the application (Ready,Running,Error etc)? 
    { 
     get { return statusBarText; } 
     set 
     { 
      statusBarText = value; 
      NotifyOfPropertyChange(() => StatusBarText); 
     } 
    } 

    public string FilePathText 
    { 
     get { return filePathText; } 
     set 
     { 
      filePathText = value; 
      NotifyOfPropertyChange(() => filePathText); 
     } 
    } 

我的意思是這些名稱爲屬性罰款?我覺得如果另一個人要查看這些屬性名稱,他/她沒有辦法確定這些字符串用於StatusBar文本塊。我想匈牙利符號可能會解決這個問題,但現在沒有多少人認爲這是一個好主意。

您有什麼建議?

+0

屬性無法控制它的用途,因此如何命名? – Paparazzi

回答

1

如果您正確使用MVVM,控件通常不需要名稱,因爲它們從不被引用。 (僅限於它們綁定的數據。)

唯一需要名稱的控件是您絕對必須命名以在代碼隱藏或類似內容中引用的名稱,或者可能有相對綁定指向它們的名稱的名稱不能依靠類型來識別。

就命名約定而言,我已分別採用UI/ux命名約定來表示視圖/控件。命名的線索只是暗示它是一種控制,並不如控制類型那麼具體。這種方式可以更改類型以反映業務需求或需求,而無需您去重命名引用或留下誤導引用。