2016-05-23 30 views
2

有沒有一種方法來設置背景色FormattedText在C#中?我使用的是這樣的:如何設置在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。你必須在* some *控制 - 在那裏改變背景。 – Paparazzi

回答

1

不,你不能。與任何你繪製到DrawingContext的情況一樣,對象的屬性只控制對象本身,即爲該對象實際繪製的內容,而不是其背後或其周圍的內容。在文本後面繪製矩形是最明顯的解決方法,並且在使用DrawingContext中的對象時完全適合。

您可以設置最終託管文本的某個元素的背景,但當然這會設置整個背景,而不一定是文本背後的內容(取決於正在繪製到上下文中的內容)。

你要決定什麼是最適合你自己的具體情況。