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 的内容将被数据绑定。我真的不确定如何命名我的 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 文本块。我想匈牙利符号可能会解决这个问题,但现在没有多少人认为这是一个好主意。

你有什么建议?

4

1 回答 1

1

如果您正确使用 MVVM,控件通常不需要名称,因为它们从未被引用。(仅限他们绑定的数据。)

唯一需要名称的控件是您绝对必须命名以在代码隐藏或类似内容中引用的控件,或者可能具有指向它们的相对绑定而不能依赖于按类型识别的控件。

就命名约定而言,我已经分别为视图/控件采用了 UI/ux 命名约定。命名线索只是暗示它是一个控件,而不是具体到控件的类型。这样,可以更改类型以反映业务需求或需求,而无需您重命名引用或留下误导性引用。

于 2012-09-06T03:47:47.857 回答