0

WPF を使用するときに常に困惑することの 1 つは、命名規則です。

だから、これは私が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 に答える