Use a PathGeometry object to highlight displayed text.
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="WpfApplication1.Window1" Title="Using a Path Geometry to Highlight Text" Background="PowderBlue"> <StackPanel> <Button Margin="10" Grid.Column="2" Grid.Row="0" FontSize="16" Click="OnDisplayTextClick">Display Text</Button> <Canvas Margin="20" Height="150"> <Path Canvas.Top="15" Canvas.Left="15" Stroke="SteelBlue" StrokeThickness="3" Fill="LightSteelBlue" Name="path" /> <Ellipse Canvas.Top="0" Canvas.Left="0" Width="30" Height="30"> <Ellipse.Fill> <RadialGradientBrush GradientOrigin="0.5,0.5" Center="0.5,0.5" RadiusX="0.5" RadiusY="0.5"> <RadialGradientBrush.GradientStops> <GradientStop Color="Yellow" Offset="0.25" /> <GradientStop Color="Transparent" Offset="1" /> </RadialGradientBrush.GradientStops> </RadialGradientBrush> </Ellipse.Fill> <Ellipse.RenderTransform> <MatrixTransform /> </Ellipse.RenderTransform> <Ellipse.Triggers> <EventTrigger RoutedEvent="FrameworkElement.Loaded"> <EventTrigger.Actions> <BeginStoryboard> <Storyboard x:Name="storyboard"> <MatrixAnimationUsingPath x:Name="matrixAnimation" Duration="0:00:40" RepeatBehavior="Forever" Storyboard.TargetProperty="RenderTransform.Matrix" /> </Storyboard> </BeginStoryboard> </EventTrigger.Actions> </EventTrigger> </Ellipse.Triggers> </Ellipse> </Canvas> </StackPanel> </Window> //File:Window.xaml.vb Imports System Imports System.Globalization Imports System.Windows Imports System.Windows.Media Namespace WpfApplication1 Public Partial Class Window1 Inherits Window Public Sub New() InitializeComponent() End Sub Public Sub OnDisplayTextClick(sender As Object, e As EventArgs) Dim formattedText As New FormattedText("asdf", CultureInfo.GetCultureInfo("en-us"), FlowDirection.LeftToRight, New Typeface("Verdana"), 96, Brushes.Black) formattedText.SetFontWeight(FontWeights.Bold) Dim geometry As Geometry = formattedText.BuildGeometry(New Point(0, 0)) Dim pathGeometry As PathGeometry = geometry.GetFlattenedPathGeometry() path.Data = pathGeometry matrixAnimation.PathGeometry = pathGeometry End Sub End Class End Namespace