FormattedText.SetForegroundBrush Method (Brush, Int32, Int32)

 
System_CAPS_noteNote

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

Changes the foreground Brush for specified text within a FormattedText object.

Namespace:   System.Windows.Media
Assembly:  PresentationCore (in PresentationCore.dll)

Public Sub SetForegroundBrush (
	foregroundBrush As Brush,
	startIndex As Integer,
	count As Integer
)

Parameters

foregroundBrush
Type: System.Windows.Media.Brush

The brush to use for the text foreground.

startIndex
Type: System.Int32

The start index of the initial character to apply the foreground brush to.

count
Type: System.Int32

The number of characters to apply the foreground brush to.

To set the foreground brush for the entire text string, use the SetForegroundBrush method.

The following example creates a FormattedText object and then applies several formatting styles to the text, including SetForegroundBrush.

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

.NET Framework
Available since 3.0
Return to top
Show: