Silverlight-テキスト
この章では、Silverlightがテキストを表示するために提供するものを見ていきます。テキストブロックは、すべてのテキストレンダリングとSilverlightに使用されます。その他の重要な機能は次のとおりです。
- 単純なプレーンテキストに使用することも、フォーマットスタイルを組み合わせて適用することもできます。
- Silverlightは、組み込みフォントの標準セットをサポートしています。
- アプリケーションの視覚スタイルに通常とは異なるものが必要な場合は、カスタムフォントをダウンロードすることもできます。
TextBlock
テキストを表示するには、Silverlight教科書要素を使用します。これは、少量の読み取り専用テキストを表示するための軽量のコントロールです。実際、その基本的な使用法は実際には多くの説明を必要としないため、これはすでにかなり多く見られています。textプロパティを設定するだけで、そのテキストが表示されます。
<TextBlock Text = "Print Testing" HorizontalAlignment Center" FontFamily = "Georgia"/>
TextBlockクラスの階層継承は次のとおりです。
以下に一般的に使用されるものを示します properties の TextBlock クラス。
シニア番号 | プロパティと説明 |
---|---|
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がテキストをラップする方法を取得または設定します。 |
以下に示すものが一般的に使用されます events の TextBlock クラス。
シニア番号 | イベントと説明 |
---|---|
1 | ContextMenuOpening システムがコンテキストメニューを表示するインタラクションを処理するときに発生します。 |
2 | SelectionChanged テキストの選択が変更されたときに発生します。 |
以下に一般的に使用されるものを示します methods に TextBlock クラス。
シニア番号 | 方法と説明 |
---|---|
1 | Focus 従来のフォーカス可能なコントロールであるかのように、TextBlockをフォーカスします。 |
2 | Select TextBlock内のテキストの範囲を選択します。 |
3 | SelectAll TextBlockのコンテンツ全体を選択します。 |
実行
テキストブロック全体のフォーマットと1つのスタイルの設定をきめ細かく制御したい場合があります。個々の単語や文字をフォーマットすると便利な場合があります。これが必要な場合は、Text プロパティ、テキストを中に入れます TextBlockコンテンツとして。コードを使用している場合、これはアイテムの追加に対応しますTextBlock インラインプロパティ。
このアプローチを使用すると、一連の実行要素を追加できます。各実行は、テキストスタイルを制御するために、同じフォントファミリ、フロントウェイト、フォアグラウンドなどのプロパティをサポートします。Runは別の要素ですが、これによってフローが中断されることはありません。
複数を含む簡単な例を見てみましょう Run 内部の要素 TextBlock。以下に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 素子。
ちなみに、実行時にテキストのすべてのビットをラップする必要はありません。テキストブロックのコンテンツのほとんどをプレーンテキストのままにして、適用するだけで済みますrun 以下に示すように、異なるフォーマットが必要な部分に。
<TextBlock> Hello,
<Run FontWeight = "Bold" Text =" world!"/>
</TextBlock>
LineBreak
Silverlightは通常、XAMLの改行を無視します。実際にそのスペースを表示したいので、ほとんどの空白が読みやすくするためにそこにあることを前提としています。
このXAMLコードを見てみましょう。このコードには、3行のテキストが含まれています。
<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>
上記のコードをコンパイルして実行すると、次の出力が表示されます。
ご覧のとおり、改行は無視され、すべてのテキストが一緒に実行されています。
有効にした場合 text wrapping、テキストを合わせるために必要な場所に改行を入れますが、例では改行を無視します。
明示的な改行を追加するだけの場合は、テキストブロック内に改行タグを追加する必要があります。それに続くテキストは、新しい行から始まります。
を追加して、同じ例をもう一度見てみましょう。 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には、組み込みのフォントファミリの固定セットがあります。歴史的な理由から、フォントの姓は実際には異なります。デフォルトのファミリは、MacOSとWindowsでは技術的に異なります。たとえばMacOSではLucidaGrandeですが、Windowsではほとんど同じですがLucida SansUnicodeという名前です。
最も一般的に使用されるフォントのいくつかを以下に示します。
フォント |
---|
Arial |
Arial Black |
Comic Sans MS |
クーリエ新 |
ジョージア |
Lucida Grande(Mac)またはLucida Sans Unicode(Windows) |
タイムズニューローマン |
トレビュシェットMS |
ヴェルダナ |