0
我必須實現一個帶有預定義寬度和一些文本的文本塊,並用特定的引導字符填充剩餘的文本塊。例如:文本將是「toto」,文本塊將具有1.5英寸的長度,並且前導字符將是「。」。文本框填充重複字符到控件的寬度
結果看起來像這樣:
toto。 。 。 。 。 。 。 。
是否有任何方式在文本塊中告訴它重複文本提醒的文本塊?
或者我必須自己寫代碼嗎?
感謝
讓 - 馬克
我必須實現一個帶有預定義寬度和一些文本的文本塊,並用特定的引導字符填充剩餘的文本塊。例如:文本將是「toto」,文本塊將具有1.5英寸的長度,並且前導字符將是「。」。文本框填充重複字符到控件的寬度
結果看起來像這樣:
toto。 。 。 。 。 。 。 。
是否有任何方式在文本塊中告訴它重複文本提醒的文本塊?
或者我必須自己寫代碼嗎?
感謝
讓 - 馬克
你將不得不自己實現。 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;
FYI,「領導」在這裏指來之前,所以你實際上應該叫他們「末尾加」,因爲「蹤跡」是指前來背後或之後。 – 2012-03-21 14:22:38