2016-05-23 43 views
2

C#でFormattedTextの背景色を設定する方法はありますか?私はこのようなものを使用しています:C#でFormattedTextの背景色を設定する方法

var formattedText = new FormattedText(...); 
Point point = new Point(x,y); 
// Draw the text onto a drawing context at specific point position 
dc.DrawText(formattedText, point); 

フォーマットされたテキストの背景色を変更しようとしています。それ以外の場合は、テキストの背後に矩形を描く必要があります。

+2

FormattedTextクラスは、背景色を操作するためのプロパティまたはメソッドを提供しません。フォアグラウンドカラーのプロパティのみがあります。あなたはそれを回避しなければならない、または矩形を使用している可能性があります –

+2

FormattedTextはその背景を制御しません。これはFormattedTextです。あなたは*いくつかのコントロールにホストする必要があります - そこに背景を変更します。 – Paparazzi

答えて

1

いいえ、できません。 DrawingContextに描画されるものと同様に、オブジェクトのプロパティはオブジェクト自体、つまりそのオブジェクトの背後にあるオブジェクトやその周囲のオブジェクトではなく、オブジェクトで実際に描画されるオブジェクトのみを制御します。テキストの後ろに矩形を描くことは最も明白な回避策であり、DrawingContextのオブジェクトを使用するときは完全に適切です。

テキストが最終的にホストされるいくつかの要素の背景を設定することはできますが、背景の全体を設定することはもちろんです(コンテキストに描画されているものに応じて)。

独自のシナリオで最も適切なものを決定する必要があります。

関連する問題