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