2009-07-20 22 views
2

私は多くの要素を内部に持つWPF UserControlを作成しています。私は彼らと仕事をする必要があり、私は彼らに名前を付ける必要があります。WPF UserControl命名規則の質問

PART_NAME

を私はなど。PART_ListBoxのように私の要素に名前を付ける必要があります:私はいくつかのカスタムでは、人々は要素をこのように命名されている制御していることを見てきましたか?またはこれの目的は何ですか? これらの名前がUserControlの一部であることを区別することはできますか?

Btw私のクラスはコントロールからではなくUserControlから直接継承します。

class MyControl: UserControl {} 

答えて

2

PART_規則はカスタムコントロールテンプレートでのみ必要です。カスタムコントロールは一般的に「無意味」なので、コントロールを開発する開発者は、そのコントロールテンプレートのすべてのカスタマイズに存在するXAMLコントロールを想定する必要があります。したがって、PART_は、コードが本当にそれらに依存しているので、新しいコントロールテンプレートにPART_名前付きコントロールを保持する必要があることをXAML編集(カスタムコントロールに与えること)する人に知らせる方法です。

あなたのケースでは、それはUserControlです(これは実際には見た目のコントロールが少ないことを意味します)ので、ここでPART_の規約に従う必要はありません。

+0

しかし、UserControlの外と内のコントロールに同じ名前を付ける可能性は増しませんか? –

+0

UserControlの外側と内側に同じ名前をつけても問題ありません。この場合は衝突がありません。 –

+0

"この場合は衝突がありません" < - それは私が知りたかったことです。ありがとう –

1

これは、テンプレート/スタイルの内部部品のMicrosoft標準です。これらの部分はコントロールのローカルなので、名前を付ける要素の範囲がどのようなものかに依存します。

この標準を使用するかどうかについては、私の意見では、すべての汎用WPF/Silverlightコントロールテンプレート/スタイルがこのコンベンションを使用するため、私の経験からもこのパックを使用します。私のテンプレートとスタイル内でローカル要素が目立つことがわかりました。

希望に役立ちます。

+0

はい、それは私が考えてきたことです。しかし、ジョブビの議論も良いですが。 –

+0

Jobiは絶対に正しいですが、これはCustomControlsのみです。申し訳ありませんが、私はあなたがUserControlを言ったことに気付かなかった。 usercontrolsの場合は、標準の命名規則に従う必要があります。実際に参照されている要素の名前を付け加えてください。 –