FormattedText 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
在 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 可讓您繪製多行文字,其中文字中的每個字元都可以個別格式化。 下例顯示已套用多種格式的文字。
格式化文字字串的範例
就 WPF 中的文字功能而言, FormattedText 會被視為「低階」,因為它會將文字當做圖形化元素來處理。 WPF 中文字的其他層面會處理控制項內容中專用於文字 (TextBlock 、 TextBox) 、實作流程檔模型 (請參閱Flow檔概觀) ,或支援 XPS 檔模型, (請參閱WPF) 中的檔。
中的 FormattedText 許多 setter 方法與 支援的附加屬性 TextElement 相似,但 TextElement 附加屬性會套用至流程或 XPS 的高階文字支援。
建構函式
屬性
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 |
取得行的前置與結尾對齊點之間的寬度,而且包含任何結尾空白字元。 |