Я хочу рисовать подчеркивание в текстовых полях с помощью метода OnRender, но линия рисуется за текстовым полем. Текстовое поле непрозрачно, поэтому подчеркивание не будет видно. Как я могу нарисовать что-то над текстовым полем?
protected override void OnRender(DrawingContext dc){
dc.DrawLine(new Pen(new LinearGradientBrush(Colors.Green, Colors.Blue, 0.0d), 2), new Point(0, Height - 4), new Point(Width, Height - 4));
}
Кстати, почему все используют "base.OnRender (drawingContext);" в их методах OnRender ()? Это ничего не меняет для меня.
Я не могу использовать TextDecoration, потому что подчеркивание должно быть нарисовано, даже если текст отсутствует.
Edit:
Не может быть красивым решением, но, похоже, нет лучшего способа:
Метод OnRender () рисует фон, а затем линию. Свойство TextBox Background имеет значение null, поэтому фон больше не будет отрисовываться.