Проблема связывания объекта с подобъектами - PullRequest
0 голосов
/ 29 декабря 2018

Я использую Xamarin.Forms (C #) и пытаюсь использовать MVVM.

Мои классы:

public class Parent
{
   public string FirstName { get; set; }
   public Child Children { get; set; }

   public Parent GetOneParent() {...}
}

public class Child
{
   public string FavoriteFruit { get; set; }
}

Прежде всего, как называется класс такого типа, имеющий«составное» свойство (то есть совокупность детей)?Я не знаю, к чему это относится, поэтому я ограничен в "Googling".

Хорошо, я создаю один родительский объект:

Parent OneParent = new Parent.GetOneParent();

Теперь я бы хотелпоказать в моем коде XAML:

  1. имя родителя (на этикетке)
  2. список любимых фруктов детей (в виде списка, так как их несколько)

Какой синтаксис привязки для метки, а затем списка для этого типа объектов?{Связывание ???}

1 Ответ

0 голосов
/ 29 декабря 2018

Ответ оказался довольно простым ... контекст привязки должен быть специфичным для страницы, а затем и более глубоко, для ее элементов управления.

Итак, я сделал что-то вроде этого ...

  1. В коде позади я устанавливаю контекст привязки:

    BindingContext = Parent;

  2. Затем в коде XAML ...

<StackLayout>
    <Label Text="{Binding FirstName}" />
</StackLayout>
<StackLayout>
    <!-- Now specify a deeper within the Parent object -->
    <ListView x:Name="ParticipantList"
        ItemsSource="{Binding Participants}">

        <ListView.ItemTemplate>
            <DataTemplate>
                <TextCell Text="{Binding FavoriteFruit}" />
            </DataTemplate>
        </ListView.ItemTemplate>
    </ListView>
</StackLayout>

Надеюсь, что это поможет кому-то в будущем!

...