代码之家  ›  专栏  ›  技术社区  ›  Ievgen

Silverlight,wpf measure TextBlock文本问题!

  •  1
  • Ievgen  · 技术社区  · 14 年前

    我无法得到我的文本块所需的适当大小。

    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. 例如,为FontSize设置值为50的setter。

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

      但期望的高度只有15!这种测量方法有什么问题?我怎样才能得到真正大小的文本块?

    1 回复  |  直到 14 年前
        1
  •  2
  •   Mazhar Karimi Mazhar Karimi    14 年前

    试试这个

    TextBlock block = new TextBlock();
        block.Text = "3333";
        block.Style = this.TextStyle;
    
        block.Measure(new Size(this.ActualWidth, this.ActualHeight));
        block.UpdateLayout();
    
    
        return block.DesiredSize;