controlLabelコントロールは最も単純なフォームで、他の章で扱ったTextBlockととても似ています。LabelはTextプロパティの代わりにContentプロパティを持っていることに気付くでしょう。これは、Labelがテキストだけではなく、どんな種類のコントロールも内部に直接ホストできるからです。最初の大変基本的な例に示すように、コンテンツを文字列とすることも出来ます。/></Grid></Window>Labelはデフォルトで少しだけ余白が有ることに気付くかもしれません。テキストは左上の角から少し離れたところに表示されます。マニュアルで調整しなければならないTextBlockコントロールの場合とは異なります。コンテンツが単純文字列のような単純なケースではLableは内部的にTextBlockを作ってその中に文字列を表示しています。LabelコントロールとTextBlockコントロールでは、何故Labelを使うのでしょうか?それはLabelとTextBlockでいくつかの重要な違いが有るからです。TextBlockはテキストだけを描画しますが、Labelは以下が出来ます。最後の項目がTextBlockコントロールよりもLabelを使う実質的な主な理由です。単純なテキストを描画するだけの場合はTextBlockコントロールを使うべきです。それは軽くて、ほとんどの場合Labelよりもパフォーマンスが良いからです。Labelとアクセスキー(ニーモニック)Windowsや他のOSでも同じように、一般的な動作として、[Alt]きーを押しながらアクセスしたいコントロールに関連付けられたキャラクタのキーを押すことで、そのコントロールにアクセスできます。押すべきキャラクタは[Alt]キーを押し下げたときにハイライトされます。TextBlockコントロールはこの機能を持っていませんがLabelにはあります。コントロールラベルとしてLabelコントロールは最適です。実際の例を見てみましょう。/></StackPanel></Window>このスクリーンショットはAltキーを押したときのサンプルダイアログです。[Alt]キーを押し下げてNとMキーを押してみて下さい。どのように二つのTextBox間にフォーカスが移動するかわかるでしょう。いくつかの新しい概念があります。1つ目はキャラクタの前にアンダースコア(_)を書いてアクセスキーを定義します。最初のキャラクタではない場合、ラベル文字列のどのキャラクタの前でも大丈夫です。一般的に、既に他のコントロールに使われていない場合は最初のキャラクタを使います。Targetプロパティを使ってLabelコントロールと特定のコントロールを関係付けます。これには標準のWPFバインディングでElementNameプロパティを使います。この詳細についてはチュートリアルの後で議論します。バインディングはコントロールの名前に基づいて行われるので、この名前を変えたら、バインディングも変更することを忘れないで下さい。Labelのコンテンツとしてコントロールを使う既に述べたようにLabelコントロールは他のコントロールをホストすることが出来、別の利点も持っています。内部にイメージと小さなテキストの両方を持ったLabelで、それぞれのラベルにアクセスキーも持っている例を試しましょう。/></StackPanel></Window>これは以前の例を拡張したバージョンです。単純文字列の代わりに、このLabelはイメージと短いテキスト(内部にラベルのアクセスキーが使えるようになるAccessTextコントロールがある)の両方をホストしています。Labelは他のContentControlから派生したコントロールと同じように1つの子コントロールだけしかホストできないので、二つのコントロールは水平StackPanelの中に入れています。イメージコントロールについては、このチュートリアルで後に議論しますが、リモートイメージを使っています。これはデモンストレーションのためだけであって、実際のアプリケーションには適しません。まとめ多くの場合、Labelコントロールは名前が示すとおり、つまり他のコントロールのラベルとして動作します。これがLabelコントロールの主な目的です。他の場合にはWPFが提供するTextBlockコントロールやその他のテキストコンテナを使うべきでしょう。UsLocalization。