5

私はSystem.Windows.Media.FormattedTextいくつかの低レベルのレンダリングを行うために使用しています(具体的には、数学の方程式を活字でわかりやすい方法でレンダリングしようとしています)。このため、私が使用しているテキストブロックの正確なメトリックが重要です。

私はいくつかのFormattedTextオブジェクトを作成し、それらを最低レベルのレンダリングで使用しています。FormattedText.Width問題は、これらのいずれかに末尾のスペースが含まれている場合、プロパティの計算時にそのスペースが考慮されないことです。たとえば、私が書く場合:

double w1 = new FormattedText ("Hello", ...).Width;
double w2 = new FormattedText ("Hello    ", ...).Width;

w1とw2は同じであることがわかります。先頭のスペース正しく測定されます。FormattedTextこれらの後続スペースも強制的に測定するにはどうすればよいですか?

4

1 に答える 1

7

Widthプロパティの使用からプロパティの使用に変更しWidthIncludingTrailingWhitespaceます。

double w1 = new FormattedText ("Hello", ...).WidthIncludingTrailingWhitespace;
double w2 = new FormattedText ("Hello    ", ...).WidthIncludingTrailingWhitespace;

このコードを使用すると、2つの異なる幅の値が表示されます。

于 2010-01-08T16:09:40.373 に答える