有没有办法知道我在 wpf 文本框中的文本是否超过了它的长度?
注意:我说的是像素长度而不是 MAXLENGTH 的字符长度
所以基本上,如果文本框是 50 像素长。我在里面有一段文字是:“Supercalifragilisticexpialidocious!尽管它的声音是非常恶劣的”
那它不适合那里吗?我想知道它不适合它。但是如果文本框是 900 像素宽。它只是可能。
我目前正在检查类似以下内容。
private double GetWidthOfText()
{
FormattedText formattedText = new FormattedText(MyTextbox.Text,
System.Globalization.CultureInfo.GetCultureInfo("en-us"),
FlowDirection.LeftToRight, new Typeface(new FontFamily("Arial"), FontStyles.Normal, FontWeights.Bold, FontStretches.Normal), MyTextbox.FontSize, Brushes.Black);
return formattedText.Width;
}
...
if (textBox.Width < GetWidthOfText()) ...
但我发现它非常老套,而且从来没有真正起作用。我正在努力寻找更可靠的东西。有任何想法吗?