Fill the overline decoration with a linear gradient brush in C#
<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"
Loaded="WindowLoaded">
<StackPanel>
<TextBlock Name="overlineTextBlock" FontSize="24" Width="180" VerticalAlignment="Center">The lazy dog</TextBlock>
</StackPanel>
</Window>
//File:Window.xaml.cs
using System;
using System.Windows;
using System.Windows.Media;
namespace TextDecorationExample
{
public partial class Window1 : Window
{
private void WindowLoaded(object sender, EventArgs e)
{
// Fill the overline decoration with a linear gradient brush.
TextDecorationCollection myCollection = new TextDecorationCollection();
TextDecoration myOverline = new TextDecoration();
myOverline.Location = TextDecorationLocation.OverLine;
// Set the linear gradient brush.
Pen myPen = new Pen();
myPen.Brush = new LinearGradientBrush(Colors.LimeGreen, Colors.Yellow, 0);
myPen.Thickness = 3;
myOverline.Pen = myPen;
myOverline.PenThicknessUnit = TextDecorationUnit.FontRecommended;
// Set the overline decoration to the text block.
myCollection.Add(myOverline);
overlineTextBlock.TextDecorations = myCollection;
}
}
}
Related examples in the same category