Высота текстового поля WPF перед его отображением - PullRequest
1 голос
/ 01 марта 2012

Как вы можете получить фактическую высоту текстового поля перед рендерингом объекта в wpf?

Следующий код будет работать в Windows, но в WPF, что эквивалентно?

textBox1.Text = "Test";  
FontFamily fontFamily = new FontFamily("Arial");  
float FontLineSpacing = fontFamily.GetLineSpacing(FontStyle.Regular);  

// Get the em height of the font family in design units.  
int emHeight = fontFamily.GetEmHeight(FontStyle.Regular);  
var Height = (textBox1.Font.Size * FontLineSpacing / emHeight) + 7;

1 Ответ

3 голосов
/ 21 марта 2013

Вы можете вызвать UpdateLayout() метод элемента перед доступом к его ActualHeight.

Например, txtBlock.UpdateLayout ().

...