#241 – Rendering Text Using DrawText
March 10, 2011 Leave a comment
You can render text into a visual using the DrawText method of a DrawingContext. DrawText renders text that is represented by an instance of FormattedText into the drawing context at a specified location.
Below is an example of drawing some text into a custom DrawingVisual.
class MyDrawingVisual : DrawingVisual { public MyDrawingVisual() { using (DrawingContext dc = RenderOpen()) { // Create formatted text--in a particular font at a particular size FormattedText ft = new FormattedText( "When things are at their worst I find something always happens.", CultureInfo.CurrentCulture, FlowDirection.LeftToRight, new Typeface(new FontFamily("Century"), FontStyles.Normal, FontWeights.Bold, FontStretches.Normal), 24, // 36 pt type Brushes.Black); // Draw the text at a location dc.DrawText(ft, new Point(10.0, 10.0)); } } }
Once we host this DrawingVisual in an UIElement, we can see the text in a window: