Common text editors provide properties (NullText and NullValuePrompt) to set text displayed as grayed when the editor's value is null or an empty string and the editor is not focused. This example demonstrates how to imitate the NullText/NullValuePrompt property behavior for RichEditControl. For this, it's necessary to create a custom PagePainter class and override the DrawPage method. In this method, check if the current document is empty using the RichEditControl.Document.IsEmpty property and RichEditControl is not focused. If so, draw the required string using the Canvas.DrawString method.
To replace the default page painter with a custom one, handle the RichEditControl.BeforePagePaint event and assign a custom painter instance to the e.Painter argument.