wpfテキストボックス内のテキストがその長さを超えているかどうかを知る方法はありますか?
注:私はピクセルの長さについて話しているのであって、最大長の文字の長さではありません
つまり、基本的に、テキストボックスの長さが50ピクセルの場合。そして、私はその中に次のようなテキストを持っています:「スーパーカリフラジリスティックエクスピアリドーシャス!それの音はかなり厄介なものですが」
それならそこには収まりませんよね?収まらないことを知りたいのですが。ただし、テキストボックスの幅が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()) ...
しかし、私はそれが信じられないほどハッキーであり、実際に機能することは決してないことに気づきました。もっと信頼できるものを見つけようとしています。何か案は?