2012-03-21 48 views
0

我必須實現一個帶有預定義寬度和一些文本的文本塊,並用特定的引導字符填充剩餘的文本塊。例如:文本將是「toto」,文本塊將具有1.5英寸的長度,並且前導字符將是「。」。文本框填充重複字符到控件的寬度

結果看起來像這樣:

toto。 。 。 。 。 。 。 。

是否有任何方式在文本塊中告訴它重複文本提醒的文本塊?

或者我必須自己寫代碼嗎?

感謝

讓 - 馬克

+1

FYI,「領導」在這裏指來之前,所以你實際上應該叫他們「末尾加」,因爲「蹤跡」是指前來背後或之後。 – 2012-03-21 14:22:38

回答

0

你將不得不自己實現。 TextBlock確實支持文本修剪,如果文本太長而不適合,它將自動顯示省略號(「...」),但這不符合您的要求。

您可以使用FormattedText來確定主文本的寬度(「toto」),然後再次確定尾隨文本(「。」)的寬度。然後,您可以做一些簡單的數學計算,以確定尾隨文本需要重複多少次。

僞代碼:

var primaryFormattedText = new FormattedText(...); 
var trailingFormattedText = new FormattedText(...); 
var totalWidth = this.Width; 
var remainderWidth = totalWidth - primaryFormattedText.Width; 
var repetitionsNeeded = remainderWidth/trailingFormattedText.Width;