В моем приложении есть десять дочерних по отношению к панели Stack текстовых полей. Я назначил текст для текстовых полей в функции Главного окна скрипта c #. Я хочу рассчитать общую высоту текстовых полей.
Проблема в том, что он дает 0. Пожалуйста, посмотрите на код ниже:
List<TextInfoData> newList = new List<TextInfoData>();
public MainWindow()
{
InitializeComponent();
for (int num = 0; num < 10; num++)
{
newList.Add(new TextInfoData("Sunset is the time of day when our sky meets the " +
"outer space solar winds. There are blue, pink, and purple swirls, spinning " +
"and twisting, like clouds of balloons caught in a blender.", 1));
}
RearrangeTextData(newList);
}
private void RearrageTextData(List<TextInfoData> textInfoData)
{
TextBox tbox = new TextBox();
//rest of code to define textbox margin and setting textwrapping to wrap
double totalTextBoxHeight = 0;
foreach (TextInfoData tinfoData in textInfoData)
{
tbox.Text = tinfoData.GetTextDataString();
totalTextBoxHeight += tbox.ActualHeight;
rootStackPanel.Children.Add(tbox);
}
MessageBox.Show("Total Height: " + totalTextBoxHeight);
}
У меня есть класс TextInfoData, который принимает строковые и целые два значения в качестве параметра. Есть функция GetTextDataString, которая возвращает строковое значение.
Имя родительской панели стека - rootStackPanel.
Если я проверяю общее число дочерних элементов rootStackPanel, он показывает десять (что правильно), но когда я пытаюсь получить общую высоту текстового поля, он дает 0. Пожалуйста, наставьте меня.