mariazingzing Ответов: 2

Ширина и высота текстового блока WPF


Привет Я не могу получить доступ к высоте TextBlock контролируйте, когда это происходит. Height является "Auto".

TextBlock t = new TextBlock()
{
    Width = 280,
    TextWrapping = System.Windows.TextWrapping.Wrap,
    FontSize = 12,
    Tag = foundClosureDay.CurrentDate,
    ToolTip = Persians.JulianToHijri(foundClosureDay.CurrentDate).DateToString
};
t.Text = "bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla ";

double height = t.Height;

height = t.ActualHeight;



Пожалуйста, помогите мне, оба t.Height и t.ActualHeight не работай.

2 Ответов

Рейтинг:
17

Pete O'Hanlon

Причина, по которой это не работает, заключается в том, что ActualHeight равен нулю до тех пор, пока он не завершит Loaded > Measured > Arranged > Rendered цикл. Для того чтобы получить ActualHeight, вам нужно подписаться на SizeChanged событие, чтобы получить фактическую высоту, когда она установлена. В принципе, в вашем коде вы получаете значение слишком рано.


mariazingzing

Спасибо

Рейтинг:
1

Prerak Patel

Если Height является Auto, вы должны использовать ActualHeight Единственное, что нужно иметь в виду, это то, что он работает только после того, как элемент управления визуализирован. Итак, если вы попытаетесь использовать ActualHeight в течение Load в любом случае, это не сработает.


mariazingzing

ActualHeight не работает.
Прости! это не мой ответ.