Silverlight, wpf измерить текстовую проблему! - PullRequest
1 голос
/ 04 ноября 2010

Я не могу получить нужный размер моего 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. Ширина всегда нуль. Когда высота рассчитывается должным образом.

  2. Желаемый размер не изменяется, когда я устанавливаю сеттеры для стиля "TextStyle" Например, setter для FontSize со значением 50.

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

    Но желаемой высоты всего 15! Что не так с этим методом измерения? И как я могу получить реальный размер текстового блока?

1 Ответ

2 голосов
/ 04 ноября 2010

Попробуйте это

TextBlock block = new TextBlock();
    block.Text = "3333";
    block.Style = this.TextStyle;

    block.Measure(new Size(this.ActualWidth, this.ActualHeight));
    block.UpdateLayout();


    return block.DesiredSize;
...