如何使wpf文本块自动调整大小

cur*_*ity 4 c# wpf

我有一个文本块,我动态添加字符串..即使我添加字符串宽度和更新文本块文本块没有显示适当的宽度,仍然有一些文字被剪切..

如何测量必须在文本块中显示的宽度?以及如何使其自动调整大小?

Mam*_*a D 7

未指定高度或宽度的文本块将自动扩展,直到填满容器。所以试试吧。


Jon*_*INE 6

您可以使用以下解决方案获取文本的大小:

解决方案1

您可以使用FormattedText来测量文本的大小,这是一个示例:

String text = "Here is my text";
Typeface myTypeface = new Typeface("Helvetica");
FormattedText ft = new FormattedText(text, CultureInfo.CurrentCulture, 
        FlowDirection.LeftToRight, myTypeface, 16, Brushes.Red);

Size textSize = new Size(ft.Width, ft.Height);
Run Code Online (Sandbox Code Playgroud)

解决方案2

使用Graphics类(在这里找到):

System.Drawing.Font font = new System.Drawing.Font("Calibri", 12, FontStyle.Bold);
Bitmap bitmap = new Bitmap(1, 1);
Graphics g = Graphics.FromImage(bitmap);
SizeF measureString = g.MeasureString(text, font);
Run Code Online (Sandbox Code Playgroud)

这个给你 !