Silverlight,wpf测量TextBlock文本问题!

时间:2010-11-03 23:47:04

标签: .net wpf silverlight-4.0 textblock

我无法获得所需的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;

我无法用它来解决两个问题:

  1. block.DesiredSize.Width始终是 零。高度计算时 正常。

  2. 当我为样式“TextStyle”设置setter时,所需的大小不会改变 例如,为FontSize设置的setter值为50。

         <Setter Property="FontSize"
                Value="50">
        </Setter>
    

    但所需的高度只有15!这种衡量方法有什么问题?我怎样才能获得真正大小的文本块?

1 个答案:

答案 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;