1

我想使用 VB.NET 代码拉伸标签中的文本以填充标签的宽度。这是在 WPF 应用程序中。

我尝试了很多方法,包括只更改字体大小,如下所示:

scale = 0.25    
lbl.FontSize = l.Width * scale

这种方法的问题是我需要所有标签的高度保持不变,而 0.25 是一个猜测,它为 4 个字符的字符串提供了大约正确的填充

我尝试了一种递归方法,我以较小的增量更改字体大小,并将字符串宽度与标签宽度进行比较,直到合适为止。

还考虑了转换,这看起来是一个不错的选择:

w = lbl.Width
scale = lbl.content.length/100
lbl.LayoutTransform = New System.Windows.Media.ScaleTransform(w * scale, 1)

这解决了我的高度问题,但我仍然需要猜测转换的因素,直到它有点工作。拉伸的文本也会失去质量并按预期变形。

有什么方法可以减少文本转换时的失真效果。也许某些字体在转换后比其他字体显示得更好?

4

0 回答 0