有没有办法知道我的WPF文本框中的文本是否超过了其长度?
注意:我说的是像素长度,而不是最大长度的字符长度。
基本上,如果文本框长度为50个像素。而我在里面输入的文本是:“Supercalifragilisticexpialidocious!虽然它的声音有点丑陋”。
那么它就无法适应?我想知道它不适合里面。
但如果文本框宽度为900像素。它可能适合。
我目前正在使用类似以下内容的东西进行检查。
注意:我说的是像素长度,而不是最大长度的字符长度。
基本上,如果文本框长度为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()) ...
但我认为这样做太过粗糙,而且并不是很可靠。我正在尝试寻找更加可靠的方法。你有什么建议吗?