Вообще говоря, 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
напрямую, если у вас есть другие элементы управления, вы хотите добавить фрейм позже).
Вот скриншот.