在使用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的内容将被数据绑定。我真的不知道该给我的UI元素和属性命名什么,以避免任何潜在的歧义。
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文本块。我想匈牙利符号可能会解决这个问题,但现在没有多少人认为这是个好主意。
你有什么建议?
如果正确使用MVVM,控件通常不需要名称,因为它们从未被引用。(只有他们绑定的数据。)
唯一需要名称的控件是那些绝对必须命名才能在代码背后引用的控件或类似的控件,或者那些可能具有指向它们的相对绑定的控件,这些控件无法通过类型进行标识。
就命名约定而言,我已经分别为视图/控件采用了UI/ux命名约定。命名线索只是暗示它是一个控件,而不是特定于控件的类型。这样,就可以更改类型以反映业务需求,而不需要您去重命名引用或留下误导性引用。