FormattedText クラス

定義

Windows Presentation Foundation (WPF) アプリケーションでのテキストの描画に対する低レベルの制御を提供します。

public ref class FormattedText
public class FormattedText
type FormattedText = class
Public Class FormattedText
継承
FormattedText

次の例では、オブジェクトを FormattedText 作成し、テキストにいくつかの書式設定スタイルを適用します。

protected override void OnRender(DrawingContext drawingContext)
{
    string testString = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor";

    // Create the initial formatted text string.
    FormattedText formattedText = new FormattedText(
        testString,
        CultureInfo.GetCultureInfo("en-us"),
        FlowDirection.LeftToRight,
        new Typeface("Verdana"),
        32,
        Brushes.Black);

    // Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
    formattedText.MaxTextWidth = 300;
    formattedText.MaxTextHeight = 240;

    // Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
    // The font size is calculated in terms of points -- not as device-independent pixels.
    formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5);

    // Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
    formattedText.SetFontWeight(FontWeights.Bold, 6, 11);

    // Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
    formattedText.SetForegroundBrush(
                            new LinearGradientBrush(
                            Colors.Orange,
                            Colors.Teal,
                            90.0),
                            6, 11);

    // Use an Italic font style beginning at the 28th character and continuing for 28 characters.
    formattedText.SetFontStyle(FontStyles.Italic, 28, 28);

    // Draw the formatted text string to the DrawingContext of the control.
    drawingContext.DrawText(formattedText, new Point(10, 0));
}
Protected Overrides Sub OnRender(ByVal drawingContext As DrawingContext)
    Dim testString As String = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor"

    ' Create the initial formatted text string.
    Dim formattedText As New FormattedText(testString, CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 32, Brushes.Black)

    ' Set a maximum width and height. If the text overflows these values, an ellipsis "..." appears.
    formattedText.MaxTextWidth = 300
    formattedText.MaxTextHeight = 240

    ' Use a larger font size beginning at the first (zero-based) character and continuing for 5 characters.
    ' The font size is calculated in terms of points -- not as device-independent pixels.
    formattedText.SetFontSize(36 * (96.0 / 72.0), 0, 5)

    ' Use a Bold font weight beginning at the 6th character and continuing for 11 characters.
    formattedText.SetFontWeight(FontWeights.Bold, 6, 11)

    ' Use a linear gradient brush beginning at the 6th character and continuing for 11 characters.
    formattedText.SetForegroundBrush(New LinearGradientBrush(Colors.Orange, Colors.Teal, 90.0), 6, 11)

    ' Use an Italic font style beginning at the 28th character and continuing for 28 characters.
    formattedText.SetFontStyle(FontStyles.Italic, 28, 28)

    ' Draw the formatted text string to the DrawingContext of the control.
    drawingContext.DrawText(formattedText, New Point(10, 0))
End Sub

注釈

FormattedText オブジェクトを使用すると、複数行のテキストを描画できます。このテキストでは、テキスト内の各文字を個々に書式設定できます。 複数の書式が適用されたテキストを次の例に示します。

FormattedText オブジェクトを使用して表示される 書式設定されたテキスト文字列の例

WPF のテキスト機能の観点からは、 FormattedText テキストをグラフィカル要素として処理するため、"低レベル" と見なされます。 WPF のテキストのその他の側面では、テキスト専用のコントロール (、)、フロー ドキュメント モデルを実装する (TextBlock「フロー ドキュメントの概要」を参照)、TextBoxXPS ドキュメント モデルをサポートするコントロールのコンテキストでテキストを処理します (「WPF のドキュメント」を参照)。

のセッター メソッド FormattedText の多くは、 で TextElementサポートされている添付プロパティと類似していますが TextElement 、添付プロパティは flow または XPS の上位レベルのテキスト サポートに適用されます。

コンストラクター

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush)
古い.

テキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、およびブラシを指定して、FormattedText クラスの新しいインスタンスを初期化します。

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, Double)

テキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、前景ブラシ、および pixelsPerDip 値を指定して、FormattedText クラスの新しいインスタンスを初期化します。

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution)
古い.

テキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、ブラシ、および数字の置換動作を指定して、FormattedText クラスの新しいインスタンスを初期化します。

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, Double)

テキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、前景ブラシ、数字の置換動作、および pixelsPerDip 値を指定して、FormattedText クラスの新しいインスタンスを初期化します。

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode)
古い.

指定されたテキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、ブラシ、数字の置換動作、およびテキストの書式設定モードを使用して、FormattedText クラスの新しいインスタンスを初期化します。

FormattedText(String, CultureInfo, FlowDirection, Typeface, Double, Brush, NumberSubstitution, TextFormattingMode, Double)

テキスト、カルチャ、フロー方向、タイプフェイス、フォント サイズ、前景ブラシ、数字の置換動作、および pixelsPerDip 値を指定して、FormattedText クラスの新しいインスタンスを初期化します。

プロパティ

Baseline

FormattedText オブジェクトの最初の行の上端から最初の行のベースラインまでの距離を取得します。

Extent

最初の行の最上部の描画ピクセルから、最後の行の最下部の描画ピクセルまでの距離を取得します。

FlowDirection

FlowDirection オブジェクトの FormattedText を取得または設定します。

Height

FormattedText オブジェクトの最初の行の上端から最後の行の下端までの距離を示す値を取得します。

LineHeight

テキスト行の行間の高さ (行間隔) を取得します。

MaxLineCount

表示する行の最大数を取得または設定します。 MaxLineCount を超えるテキストは表示されません。

MaxTextHeight

テキスト行の最大の高さを取得または設定します。

MaxTextWidth

テキスト行の最大のテキスト幅 (長さ) を取得または設定します。

MinWidth

指定したテキスト コンテンツをすべて格納できる最小のテキスト幅を取得します。

OverhangAfter

テキストの最後の行の下端から最下部の描画ピクセルまでの距離を取得します。

OverhangLeading

行の先頭の配置ポイントから先頭の描画ピクセルまでの最大距離を取得します。

OverhangTrailing

行の末尾のインク付きピクセルから末尾の配置ポイントまでの最大距離を取得します。

PixelsPerDip

テキストを表示する PixelsPerDip を取得または設定します。

Text

表示されるテキストの文字列を取得します。

TextAlignment

FormattedText オブジェクト内のテキストの配置を取得または設定します。

Trimming

テキストの省略の指定方法を取得または設定します。

Width

行の先頭の配置ポイントから末尾の配置ポイントまでの幅 (末尾の空白文字を除く) を取得します。

WidthIncludingTrailingWhitespace

行の先頭の配置ポイントから末尾の配置ポイントまでの幅 (末尾の空白文字を含む) を取得します。

メソッド

BuildGeometry(Point)

書式設定されたテキストを表す Geometry オブジェクトを返します。グリフや文字装飾など、書式設定されたテキストはすべて対象となります。

BuildHighlightGeometry(Point)

書式設定されたテキストの強調表示境界ボックスを表す Geometry オブジェクトを返します。

BuildHighlightGeometry(Point, Int32, Int32)

書式設定されたテキストに含まれる指定した部分文字列の強調表示境界ボックスを表す Geometry オブジェクトを返します。

Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetMaxTextWidths()

テキスト幅の配列を取得します。 この配列の各要素は、連続したテキスト行の最大のテキスト幅を表します。

GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
SetCulture(CultureInfo)

CultureInfo オブジェクト内の文字列全体の FormattedText を設定します。

SetCulture(CultureInfo, Int32, Int32)

CultureInfo オブジェクト内の文字の指定したサブセットの FormattedText を設定します。

SetFontFamily(FontFamily)

FormattedText オブジェクトのフォント ファミリを設定します。

SetFontFamily(FontFamily, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットのフォント ファミリを設定します。

SetFontFamily(String)

FormattedText オブジェクト内の文字列全体のフォント ファミリを設定します。

SetFontFamily(String, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットのフォント ファミリを設定します。

SetFontSize(Double)

FormattedText オブジェクト内の文字列全体のフォント サイズを設定します。

SetFontSize(Double, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットのフォント サイズを設定します。

SetFontStretch(FontStretch)

FormattedText オブジェクト内の文字列全体のフォントの伸縮値を設定します。

SetFontStretch(FontStretch, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットに関するフォントの伸縮値を設定します。

SetFontStyle(FontStyle)

FormattedText オブジェクト内の文字列全体のフォント スタイルを設定します。

SetFontStyle(FontStyle, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットのフォント スタイルを設定します。

SetFontTypeface(Typeface)

FormattedText オブジェクト内の文字列全体のフォント タイプフェイスを設定します。

SetFontTypeface(Typeface, Int32, Int32)

FormattedText オブジェクト内の文字の指定したサブセットのフォント タイプフェイスを設定します。

SetFontWeight(FontWeight)

FormattedText オブジェクト内の文字列全体のフォントの太さを設定します。

SetFontWeight(FontWeight, Int32, Int32)

FontWeight オブジェクト内の指定したテキストの FormattedText を変更します。

SetForegroundBrush(Brush)

Brush オブジェクト全体の前景 FormattedText を変更します。

SetForegroundBrush(Brush, Int32, Int32)

Brush オブジェクト内の指定したテキストの前景 FormattedText を変更します。

SetMaxTextWidths(Double[])

行単位の最大のテキスト幅の配列を FormattedText 内で設定します。 この配列の各要素は、連続したテキスト行の最大のテキスト幅を表します。

SetNumberSubstitution(NumberSubstitution)

FormattedText オブジェクト内の文字列全体に適用する数字の置換動作を設定します。

SetNumberSubstitution(NumberSubstitution, Int32, Int32)

FormattedText オブジェクト内の指定したテキストに適用する数字の置換動作を設定します。

SetTextDecorations(TextDecorationCollection)

TextDecorationCollection オブジェクト内の文字列全体の FormattedText を設定します。

SetTextDecorations(TextDecorationCollection, Int32, Int32)

TextDecorationCollection オブジェクト内の指定したテキストの FormattedText を設定します。

ToString()

現在のオブジェクトを表す文字列を返します。

(継承元 Object)

適用対象

こちらもご覧ください