Silverlight-text
Silverlight-テキスト
この章では、Silverlightがテキストを表示するために提供するものを見ていきます。 テキストブロックは、すべてのテキストレンダリングとSilverlightに使用されます。 他の重要な機能は-
- 単純なプレーンテキストに使用することも、書式設定スタイルを組み合わせて適用することもできます。
- Silverlightは、組み込みフォントの標準セットをサポートしています。
- また、アプリケーションの視覚スタイルにあまり一般的でないものが必要な場合は、カスタムフォントをダウンロードできます。
TextBlock
テキストを表示するには、Silverlightのtextbook要素を使用します。これは、少量の読み取り専用テキストを表示するための軽量なコントロールです。 実際、基本的な使用法ではあまり説明する必要がないので、これについてはすでに多く見ています。 テキストプロパティを設定するだけで、そのテキストが表示されます。
<TextBlock Text = "Print Testing" HorizontalAlignment Center" FontFamily = "Georgia"/>
TextBlockクラスの階層的な継承は次のとおりです。
以下に、 TextBlock クラスで一般的に使用される properties を示します。
以下は、TextBlockの最も一般的に使用されるプロパティです。
Sr. No. | Property & Description |
---|---|
1 |
ContentEnd TextBlockのテキストコンテンツの終わりのTextPointerオブジェクトを取得します。 |
2 |
ContentStart TextBlockのテキストコンテンツの開始点のTextPointerオブジェクトを取得します。 |
3 |
IsTextSelectionEnabled ユーザーアクションまたは選択関連APIの呼び出しによって、TextBlockでテキスト選択が有効になっているかどうかを示す値を取得または設定します。 |
4 |
IsTextSelectionEnabledProperty IsTextSelectionEnabled依存プロパティを識別します。 |
5 |
LineHeight コンテンツの各行の高さを取得または設定します。 |
6 |
MaxLines TextBlockに表示されるテキストの最大行を取得または設定します。 |
7 |
SelectedText 選択したテキストのテキスト範囲を取得します。 |
8 |
SelectionEnd TextBlockで選択されたテキストの終了位置を取得します。 |
9 |
SelectionHighlightColor 選択したテキストを強調表示するために使用されるブラシを取得または設定します。 |
10 |
SelectionStart TextBlockで選択されたテキストの開始位置を取得します。 |
11 |
Text TextBlockのテキストコンテンツを取得または設定します。 |
12 |
TextAlignment テキストコンテンツの水平方向の配置を示す値を取得または設定します。 |
13 |
TextTrimming コンテンツがコンテンツ領域をオーバーフローするときに使用するテキストのトリミング動作を取得または設定します。 |
14 |
TextWrapping TextBlockによるテキストのラップ方法を取得または設定します。 |
以下に、 TextBlock クラスの一般的に使用される*イベント*を示します。
以下は、TextBlockの最も一般的に使用されるイベントです。
Sr. No. | Event & Description |
---|---|
1 |
ContextMenuOpening システムがコンテキストメニューを表示するインタラクションを処理するときに発生します。 |
2 |
SelectionChanged テキストの選択が変更されたときに発生します。 |
以下に、 TextBlock クラスで一般的に使用される methods を示します。
以下に、TextBlockの最も一般的に使用されるメソッドを示します。
Sr. No. | Method & Description |
---|---|
1 |
Focus TextBlockを、従来のフォーカス可能なコントロールであるかのようにフォーカスします。 |
2 |
Select TextBlock内のテキストの範囲を選択します。 |
3 |
SelectAll TextBlockのコンテンツ全体を選択します。 |
Run
書式設定を細かく制御し、テキストブロック全体に対して1つのスタイルを設定したい場合があります。 個々の単語や文字をフォーマットすると便利な場合があります。これが必要な場合は、 Text プロパティを使用する代わりに、 TextBlock 内にテキストをコンテンツとして配置します。 コードを使用している場合、これは TextBlock インラインプロパティにアイテムを追加することに対応します。
このアプローチを使用すると、一連の実行要素を追加できます。 各Runは、テキストスタイルを制御するための同じフォントファミリ、フロントウェイト、フォアグラウンドなどのプロパティをサポートします。 Runは独立した要素ですが、これによりフローが中断されることはありません。
*TextBlock* 内に複数の *Run* 要素を含む簡単な例を見てみましょう。 以下にXAMLコードを示します。
<UserControl x:Class = "SilverlightRunDemo.MainPage"
xmlns = "http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x = "http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d = "http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc = "http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable = "d"
d:DesignHeight = "300" d:DesignWidth = "400">
<Grid x:Name = "LayoutRoot" Background = "White">
<TextBlock Width = "192" TextWrapping = "Wrap" FontFamily = "Verdana">
<Run Text = "Hello, "/>
<Run FontWeight = "Bold" Text = "world!"/>
<Run Text = "You"/>
<Run FontStyle = "Italic" Text = " are "/>
<Run Text = "learning" FontSize = "40" FontFamily = "01d English Text MT"/>
<Run Text = " the "/>
<Run Text = "basics of " Foreground = "Blue"/>
<Run Text = " Silverlight." FontSize = "30"/>
</TextBlock>
</Grid>
</UserControl>
上記のコードをコンパイルして実行すると、次の出力が表示されます。
ご覧のとおり、このテキストブロックは、 Run 要素を使用してさまざまな書式設定スタイルで配置されています。
ところで、1回の実行でテキストのすべてのビットをラップする必要はありません。 テキストブロックのコンテンツのほとんどをプレーンテキストのままにして、以下に示すように、異なる書式設定が必要な部分に*実行*を適用するだけです。
<TextBlock> Hello,
<Run FontWeight = "Bold" Text =" world!"/>
</TextBlock>
LineBreak
Silverlightは通常、XAMLの改行を無視します。 実際にそのスペースを表示したいので、読みやすくするためにほとんどのスペースがそこにあると想定しています。
3行のテキストが含まれているこのXAMLコードを見てみましょう。
<TextBlock>
This is not the end.
It is not even the beginning of the end.
But it is, perhaps, the end of the beginning
</TextBlock>
上記のコードをコンパイルして実行すると、次の出力が表示されます。
ご覧のとおり、改行を無視し、すべてのテキストをまとめて実行しました。
*テキストの折り返し*を有効にすると、テキストを合わせるために必要な場所に改行が挿入されますが、例の改行は無視されます。
明示的な改行を追加するだけの場合は、テキストブロック内に改行タグを追加する必要があります。 それに続くテキストは新しい行で始まります。
*LineBreak* タグを追加して、同じ例をもう一度見てみましょう。
<TextBlock FontSize = "16">
This is not the end.
<LineBreak/>
It is not even the beginning of the end.
<LineBreak/>
But it is, perhaps, the end of the beginning
</TextBlock>
上記のコードが実行されると、XAMLで指定されているようになります。
組み込みフォント
Silverlightには、組み込みのフォントファミリの固定セットがあります。 フォントには、歴史的な理由から実際には異なる姓があります。 デフォルトのファミリは、Mac OSとMac OSのLucida Grandeなどのウィンドウでは技術的に異なりますが、WindowsではLucida Sans Unicodeとほぼ同じ名前が付けられています。
最も一般的に使用されるフォントの一部を以下に示します。
Fonts | Arial | Arial Black | Comic Sans MS | Courier New | Georgia | Lucida Grande (Mac) or Lucida Sans Unicode (Windows) | Times New Roman | Trebuchet MS | Verdana |
---|