WPF ListView Binding ItemsSource dans XAML

J'ai un simple XAML page avec une liste sur il définit comme ceci

<ListView Margin="10" Name="lvUsers" ItemsSource="{Binding People}">
    <ListView.View>
        <GridView>
            <GridViewColumn Header="Name" Width="120" DisplayMemberBinding="{Binding Name}" />
            <GridViewColumn Header="Age" Width="50" DisplayMemberBinding="{Binding Age}" />
            <GridViewColumn Header="Mail" Width="150" DisplayMemberBinding="{Binding Mail}" />
        </GridView>
    </ListView.View>
</ListView> 

Dans le code du retard, je n':-

public ObservableCollection<Person> People { get; set; }

public ListView()
{
    InitializeComponent();

    this.People = new ObservableCollection<Person>();
    this.People.Add(new Person() { Name = "John Doe", Age = 42, Mail = "[email protected]" });
    this.People.Add(new Person() { Name = "Jane Doe", Age = 39, Mail = "[email protected]" });
    this.People.Add(new Person() { Name = "Sammy Doe", Age = 7, Mail = "[email protected]" }); 

}   

Si j'ai mis le ItemsSource de ma listview dans le code-behind, comme ce

lvUsers.ItemsSource = this.People;

il fonctionne et ma grille est affichée comme prévu

Cependant si je supprime cette ligne et d'essayer de lier dans le XAML

<ListView Margin="10" Name="lvUsers" ItemsSource="{Binding People}">

il ne fonctionne plus.

Pourquoi ne pas la liaison dans le code XAML de travail?

source d'informationauteur David | 2014-10-14