Как добавить в уже созданный StackLayout без множественных: Children.Add?

Есть ли способ добавить к уже созданному StackLayout без необходимости вызывать несколько Children.Add?

Вот созданный код:

public class Test1
{
    public StackLayout contentStack;

    public PopupDialog()
    {
        contentStack = new StackLayout()
        {
            Spacing = 0,
            Padding = new Thickness(0),
            Orientation = StackOrientation.Vertical,

        };
        contentStack.Children.Add(new Label() { Text = "Test1" });
        contentStack.Children.Add(new Label() { Text = "Test2" });
        contentStack.Children.Add(new Label() { Text = "Test3" });
};

Обратите внимание, что для этого вопроса я не хочу добавлять в { } нового Stacklayout() { }

1 ответ

Решение

Все это зависит:

Если у вас уже есть коллекция, вы можете сделать что-нибудь вроде

public class Test1
{
    List<Label> list = new List<Label>()
    {
        new Label() { Text = "Test1" },
        new Label() { Text = "Test2" },
        new Label() { Text = "Test3" },
    };

    public StackLayout contentStack;

    public PopupDialog()
    {
        contentStack = new StackLayout()
        {
            Spacing = 0,
            Padding = new Thickness(0),
            Orientation = StackOrientation.Vertical,

        };

        foreach(var item in list)
            contentStack.Children.Add(item);
};

Кроме этого, я не верю, что вы можете...

Другие вопросы по тегам