查找Textblock / Text的高度
本文关键字:高度 Text Textblock 查找 | 更新日期: 2023-09-27 18:16:11
我试着计算TextBlock的高度。我不想在某些页面上使用Textblock。我只需要知道我的内容的高度。
我试过这样做,但它只返回0
private static double CalculateContentHeight(string content, double width, double fontSize)
{
//Nur einen Textblock ggf. um Ressourcen zu sparen
TextBlock textblock = new TextBlock
{
FontSize = fontSize,
Text = content,
TextWrapping = TextWrapping.Wrap,
MaxWidth = width,
Height = Double.NaN
};
return textblock.ActualHeight;
}
如果我在XAML中使用现有的TextBlock并只是:
MyXAMLTextBlock.MaxWidth = 7;
double height = MyXAMLTextBlock.ActualHeight;
我得到了正确的值。
我知道有可能与Meassure()和Arrange()就像在这个例子中,但Meassure(Size)的大小参数,我没有它的高度。
我知道你可以设置大小为自动与双倍。Nan,但是它不能用
编译double height = 9;
Size s = new Size(height, Double.Nan);
也许你可以帮助我,非常感谢。
我不知道你为什么这样做。但是有了Measure and Arrange,这是可能的:
在返回ActualHeight:
之前运行这两行textblock.Measure(new Size());
textblock.Arrange(new Rect());
希望我能帮到你