Высота текстового блока изменяется, когда он свернут или виден - PullRequest
1 голос
/ 15 марта 2012

Я пытаюсь создать ридер для Windows Phone 7, мне нужно знать, сколько пикселей будет занимать строка по вертикали, поэтому я получаю новый текстовый блок, помещаю в него все слова и получаю его высоту как строкувысота, вот мой код:

public double getActualHeight(String tmp)
    {
        TextBlock tb = new TextBlock();
        tb.FontWeight = currentFontWeight;
        tb.TextWrapping = TextWrapping.Wrap;
        tb.Width = contentsv.ActualWidth;
        tb.Text = tmp;
        tb.UpdateLayout();
        return tb.ActualHeight;
    }

, но, похоже, не работает.

Я попытался поместить некоторый текст в текстовый блок и получить его высоту.Когда он виден, высота работает нормально, но когда он свернут, высота становится очень большой (например, 2 КБ или 3 КБ).
Я проверил эту страницу , и он говорит, что когда что-то рухнуло, он не 'не занимает место на экране, поэтому его высота недействительна?Даже это ActualHeight?Как я могу получить высоту текстового блока, когда он свернут?Или как я могу получить высоту текста с тем, что пользователи не видят?
Любой совет будет высоко оценен!

1 Ответ

0 голосов
/ 17 августа 2012

Не можете ли вы достичь этого, добавив текстовый блок в строку сетки и сделав текстовый блок Height="Auto" и TextWrapping="Wrap"

Если вы сделаете это, он автоматически примет высоту, необходимую для отображения всего текста.

...