如何在呈现之前测量WPF中TextBlock的大小?

Sco*_*ock 13 wpf textblock measure

我有一个带有两个TextBlock控件(堆叠)的WPF DataTemplate,然后是一些其他元素.由于一些复杂的布局代码,我需要知道两个TextBlock元素的高度,以便我可以绘制一些花哨的连接线,并排列其他控件等.

如果我知道进入TextBlocks的文本,我知道字体等,是否有某种方法可以计算或测量这些TextBlocks的高度而不实际呈现它们?

geh*_*hho 25

我认为调用该UIElement.Measure(Size)方法并随后检查UIElement.DesiredSize属性应该足够了.有关更多信息,请查看提供的MSDN链接.

  • 只是有同样的问题,只是调用`textblock.Measure(new Size());`足够了.我不得不使用`textblock.Measure(new Size(double.PositiveInfinity,double.PositiveInfinity));`来获取`textblock.DesiredSize的结果 (5认同)