我无法获得所需的TextBlock大小。
我有几行代码:
TextBlock block = new TextBlock();
block.Style = this.TextStyle;
block.UpdateLayout();
block.Measure(new Size(this.ActualWidth, this.ActualHeight));
block.Text = "3333";
return block.DesiredSize;
我无法用它来解决两个问题:
block.DesiredSize.Width始终是 零。高度计算时 正常。
当我为样式“TextStyle”设置setter时,所需的大小不会改变 例如,为FontSize设置的setter值为50。
<Setter Property="FontSize"
Value="50">
</Setter>
但所需的高度只有15!这种衡量方法有什么问题?我怎样才能获得真正大小的文本块?
答案 0 :(得分:2)
试试这个
TextBlock block = new TextBlock();
block.Text = "3333";
block.Style = this.TextStyle;
block.Measure(new Size(this.ActualWidth, this.ActualHeight));
block.UpdateLayout();
return block.DesiredSize;