WPF: Как я циклично выполняюсь посредством всех средств управления в окне?

Вы пытались установить текстовый столбец mainAxisAlignment в spaceBetween?

mainAxisAlignment: MainAxisAlignment.spaceBetween

Таким образом, ваш код будет выглядеть следующим образом:

Expanded(
      child: Container(
        padding: EdgeInsets.symmetric(horizontal: 10),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.spaceBetween,
          children: <Widget>[
            Text(session.name.toUpperCase(), style: Theme.of(context).textTheme.headline.merge(TextStyle(color: widget.pillarCollors[program.pillar-1])),),
            Text(session.description, style: Theme.of(context).textTheme.body1,),
          ],
        ),
      )
),

Другое решение - разместить каждый текстовый виджет внутри отделите строку и затем поместите SizedBox между строками. Таким образом, вы можете вручную установить высоту SizedBox, чтобы она соответствовала расстоянию между строками.

18
задан Tony 5 September 2013 в 16:40
поделиться

1 ответ

Класс для получения списка всех дочерних компонентов элемента управления:

class Utility
    {
        private static StringBuilder sbListControls;

        public static StringBuilder GetVisualTreeInfo(Visual element)
        {
            if (element == null)
            {
                throw new ArgumentNullException(String.Format("Element {0} is null !", element.ToString()));
            }

            sbListControls = new StringBuilder();

            GetControlsList(element, 0);

            return sbListControls;
        }

        private static void GetControlsList(Visual control, int level)
        {
            const int indent = 4;
            int ChildNumber = VisualTreeHelper.GetChildrenCount(control);

            for (int i = 0; i <= ChildNumber - 1; i++)
            {
                Visual v = (Visual)VisualTreeHelper.GetChild(control, i);

                sbListControls.Append(new string(' ', level * indent));
                sbListControls.Append(v.GetType());
                sbListControls.Append(Environment.NewLine);

                if (VisualTreeHelper.GetChildrenCount(v) > 0)
                {
                    GetControlsList(v, level + 1);
                }
            }
        }
    } 
7
ответ дан 30 November 2019 в 07:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: