テキスト
テキストを表示するにはTextBlockオブジェクトを用います。Silverlightのテキスト表示は、本稿執筆時点のバージョン1.0では極めて貧弱な機能しか提供されていません。HTMLや文書編集を専門としたソフトウェアのような複雑な構造のテキスト表現は、不可能ではありませんがXAMLを手書きで記述する場合は非常に手間がかかります。文書処理を専門としたコントロールの登場は将来に期待するしかなく、TextBlockオブジェクトによる文書の表現は簡素なものに止めた方が無難です。
<TextBlock .../>
TextBlockで表示するテキストを表す文字列はTextプロパティに設定します。
<object Text="string" .../>
<object>string<object>
stringには、表示するテキストを表す文字列を指定します。Textプロパティを設定する方法は2つあり、1つはText属性から文字列を指定する方法、もう1つはコンテンツ要素としてTextBlock要素内に直接文字列を指定する方法です。複雑な構造のテキストを表示する場合は後者の構文を利用することになります。
表示されるテキストの大きさはFontSizeプロパティで調整できます。
<object FontSize="Double" .../>
デフォルトでは14.666ピクセルが設定されています。
フォントの種類はFontFamilyプロパティから設定できます。
<object FontFamily="string" .../>
当然、フォントはSilverlightに読み込まれている適切な名前でなければなりません。Silvelightはクロスプラットフォームを目的としているため、システムのフォントを利用しては環境に依存してしまいます。Silverlightプラグインは次の9つのフォントをサポートしています。通常は、これらのフォントのいずれかを選択します。
- Arial
- Arial Black
- Comic Sans MS
- Courier New
- Georgia
- Lucida Grande/Lucida Sans Unicode
- Times New Roman
- Trebuchet MS
- Verdana
ここで重要なのは、現時点では日本語のフォントをサポートしていないことです。外部のフォントを参照させることも可能ですが、日本語フォントはファイルサイズが大きいため現実的な選択肢ではありません。この問題は日本語フォントを含むSilverlight日本語版の登場を待つしかありません。
テキストの塗りつぶし方法はForegroundプロパティで指定できます。表示されるテキストの色を変更したい場合に利用します。
<object Foreground="Brush" .../>
<object> <object.Foreground> <Brush" .../> </object.Foreground> </object>
図形のStrokeやFillプロパティと同じようにBrushオブジェクトを指定してテキストの内部をどのように塗りつぶすかを表します。
<TextBlock xmlns="http://schemas.microsoft.com/client/2007"
FontSize="30" FontFamily="Comic Sans MS" Foreground="Red"
> Kitty on your lap </TextBlock>

上記のコードは、Comix Sans MSフォントを用いて"Kitty on your lap"という文字列を表示します。FontSizeも変更しているため、デフォルトのサイズよりもやや大きめのテキストが表示されます。また、Foregroundプロパティを変更して赤色でテキストを表示します。
