Mega Code Archive

 
Categories / C# / WPF
 

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;          }     } }