Добавление внука в стек с помощью форм c# xamarin - PullRequest
0 голосов
/ 29 мая 2020

У меня есть этот код:

stackRecentList.Children.Add(
                    new Frame {
                        BackgroundColor = Color.White,
                        Margin = new Thickness(30, 20, 30, 0),
                        Padding = new Thickness(10),
                        CornerRadius = 5,
                        HasShadow = true
                    }
                );

В основном я добавляю <Frame> в свой стек. Я хочу добавить <Label> к этому <Frame>, потому что он становится внуком <StackLayout>. Как это сделать в Xamarin Forms Android?

1 Ответ

0 голосов
/ 29 мая 2020

Вообще говоря, StackLayout должен заботиться только о своем Children, и теперь каждая дочерняя задача состоит в том, чтобы организовать своих собственных дочерних элементов. Теперь ваш фрейм должен сам заботиться о своих дочерних элементах.

Фрейм имеет уникальное свойство: Content.

Следуйте этому фрагменту, чтобы создать свой пользовательский интерфейс в коде позади:

 Frame frame = new Frame
            {
                BackgroundColor = Color.White,
                Margin = new Thickness(30, 20, 30, 0),
                Padding = new Thickness(10),
                CornerRadius = 5,
                HasShadow = true
            };

            var sl = new StackLayout();
            sl.Children.Add(new Label() { Text = "test" });

            frame.Content = sl;


            stackRecentList.Children.Add(
                    frame
                );

Я рекомендую вам добавить StackLayout к Content фрейма (не добавляйте Label к фрейму) Content напрямую, если у вас есть другие элементы управления, вы хотите добавить фрейм позже).

Вот скриншот.

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...