【发布时间】:2016-01-15 04:09:13
【问题描述】:
我可以以像素为单位设置固定高度,但我想将其设置为行。有点像在 html 中,您可以将 textarea 的高度设置为行数/行数。
【问题讨论】:
我可以以像素为单位设置固定高度,但我想将其设置为行。有点像在 html 中,您可以将 textarea 的高度设置为行数/行数。
【问题讨论】:
对于文本框,设置 MinLines 和 MaxLines 属性。为了更好地接近 HTML 文本区域,还可以考虑设置 TextWrapping、VerticalScrollBarVisibility 和 AcceptsReturn,如下所示:
<TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" MinLines="3" MaxLines="3"/>
【讨论】:
你可以用 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);
使用 Graphics 类(找到 here):
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);
你来了!
【讨论】:
试试3em
1em 等于当前字体大小。 2em 表示当前字体大小的 2 倍。例如,如果一个元素以 12 pt 的字体显示,那么 '2em' 就是 24 pt。
【讨论】: