Fill the overline decoration with a linear gradient brush
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" x:Class="TextDecorationExample.Window1" Title="TextDecoration Example" Width="720" Height="400"> <StackPanel> <TextBlock FontSize="24" Width="180" VerticalAlignment="Center">The lazy dog <TextBlock.TextDecorations> <TextDecoration Location="OverLine" PenThicknessUnit="FontRecommended"> <TextDecoration.Pen> <Pen Thickness="3"> <Pen.Brush> <LinearGradientBrush StartPoint="0,0.5" EndPoint="1,0.5"> <LinearGradientBrush.GradientStops> <GradientStop Color="LimeGreen" Offset="0" /> <GradientStop Color="Yellow" Offset="1" /> </LinearGradientBrush.GradientStops> </LinearGradientBrush> </Pen.Brush> </Pen> </TextDecoration.Pen> </TextDecoration> </TextBlock.TextDecorations> </TextBlock> </StackPanel> </Window>