Xamarin Forms List Data Bindings

I am currently following this guide:

http://www.morganskinner.com/2015/01/xamarin-forms-contacts-search.html

I am ready to make the contact page in my application, as shown in the figures there, but something does not work as I need:

I wrote / copied XAML:

    <Grid.RowDefinitions>
      <RowDefinition Height="Auto"/>
      <RowDefinition Height="*"/>
    </Grid.RowDefinitions>

    <SearchBar x:Name="search" Placeholder="Search"/>

    <ListView x:Name="ProvaView" Grid.Row="1" ItemsSource="{Binding FilteredContacts}" IsGroupingEnabled="true" GroupDisplayBinding="{Binding Key}" GroupShortNameBinding="{Binding Key}">
      <ListView.ItemTemplate>
        <DataTemplate>
          <TextCell Text="{Binding Name}" TextColor="Black" Detail="{Binding PhoneNumber}" DetailColor="Gray">
          </TextCell>
        </DataTemplate>
      </ListView.ItemTemplate>
    </ListView>

  </Grid>

and now I'm trying to "display something", and not dynamically load (for now) from the data list.

I declared the class as follows:

 public class Contact
    {
        public string Name { get; set; }
        public string PhoneNumber { get; set; }
    }
}

and now the code behind xaml is this:

public partial class ContactsPage : MasterDetailPage
    {
        public List<Contact> FilteredContacts = new List<Contact>
            {
                new Contact
                {
                    Name = "Guido",
                    PhoneNumber = "3292773477"
                },
                new Contact
                {
                    Name = "Luca",
                    PhoneNumber = "3472737445"
                },
                new Contact
                {
                    Name = "Luca",
                    PhoneNumber = "3472737445"
                }
            };

        public ContactsPage()
        {
            InitializeComponent();
            ProvaView.ItemsSource = FilteredContacts;
        }
}

When I run the application, all I get anyway is an empty list containing 3 fields, but nothing in it.

Where am I doing wrong?

Also, right from the page I'm working on, I cannot understand the meaning of these list-related fields:

GroupDisplayBinding = "{Binding Key}" GroupShortNameBinding = "{Binding Key}"

, .

+4
1

, , FilteredContacts, , . , , .

+9

All Articles