OnRenderメソッドを使ってテキストボックスに下線を引っ張りたいが、その行はテキストボックスの後ろに描かれている。テキストボックスは不透明なので、下線は表示されません。テキストボックスの上に何かを描画するには?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を使用することはできません。
編集:
が美しい解決策ではないかもしれないが、良い方法はありませんようにそれはそう: OnRender()メソッドは、バックグラウンド、その後、ラインを描画します。 TextBox Backgroundプロパティはnullに設定されているため、背景は再び描画されません。
はい、私はそれが何もしない、言ったように。どこに置いても問題ありません。 – Markus