XAMLマークアップの推奨されるコントロールの命名規則は何ですか?


10

WPFまたはSilverlightを使用する場合、コントロールの命名規則をどのように使用すればよいですか?XAMLマークアップでコントロールに名前を付けますか?"selectButton"や "btnSelect"などのコントロール名を持つcodeplexでのプロジェクトのサンプルを見てきました。あなたは何をお勧めします?


1
これまでに選択したスキーム-アプリケーション全体で一貫している。
ChrisF

回答:


8

マイクロソフトのガイドラインは、こちらの Webサイトで公開されています。結論としては、ハンガリーの命名規則は廃止されています。

編集

これをより明確にするために、Microsoftは、UI要素を含むすべての命名規則からハンガリー語表記を削除しました。ただし、MSはUI要素に関する推奨事項を文書化していません。これを指摘し、それらの提案を提供するリンクがたくさんありますが、一番下の行は、UI要素を使用することで、自分で行うことです。リンクの例。

私たちの標準では、ハンガリー語の表記を削除し、明示的な名前を使用しています。つまり、OKというボタンはButtonOKという名前になり、CommentsというテキストブロックはTextblockCommentsになります。欠点は、名前が長くなる可能性があることです。肯定的な点は、すべての人が要素が何であるかを正確に知っていることです。

自分にとって有効なものを確立し、その標準を一貫して使用している限り、問題はありません。


2
これらは、UI要素ではなく、ライブラリのメンバーに名前を付けるためのガイドラインです。
Robert Harvey、

@ロバート-良い点。彼らのガイドラインがUI要素を除外していることに私は気づかなかった。回答を編集します。
Walter、

4

通常、XAMLでコントロールに名前を付けないでください。ほとんどの場合、バインディングによってすべてが設定または制御されるため、未使用です。ソース:ピートブラウン


同じ記事では、データ入力要素(テキストボックス、チェックボックス、コンボ)はすべて別の場所(データストアなど)で参照されるため、いずれにしても名前付ける必要があると述べています。chrome要素(ライン、シェイプなど)に名前を付ける必要はありません。XAMLが名前を付けるように強制しないのは素晴らしいことです。
ロバートハーヴェイ

@Robert Harvey:記事から:「TextBoxes、ListBoxes、ButtonsなどのインタラクティブなUIコントロール。コマンド/動作とMVVMのような適切なパターンを使用している場合は、これらに名前を付けなくても回避できますが、文書化の観点。決して要件ではないが、役立つ。」MVVMを使用していて、ブレンド作業のためにxamlをデザイナーに伝える必要がないので、この名前を使用する方法は見つかりませんでした。私のコントロールは本当にシンプルなので、それらの名前で提供されるドキュメントはやりすぎです。しかし、より複雑なUIでは、異なる場合があることに同意します。
Matthieu 2010年

MVVMを使用していて、コントロールに名前を付けることはほとんどありません。それらがコンテキストおよびVSデザイナーによって何であるかはかなり明白です。時々、XAMLにコメントを付けます。
M.ダドリー

2

XAMLについては知りませんが、通常の古いASP.NETの場合、私が見た規則は次のとおりです。

  1. 古き良きハンガリー語(例:txtFirstName、ddlState、chkAcceptsTerms)
  2. 明示的な命名(例:TextFirstName、DropdownState、CheckAcceptsTerms)

正直言って、どちらがいいかわかりません。私は#2のような多くのコードを見ていましたが、逆転しました(たとえば、FirstNameTex、StateDropdown、AcceptsTermsCheck)。ただし、関連するコントロールをグループ化するため、他の方法が好きです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.