У меня есть простая страница XAML со списком ListView, определенная как
<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>
В коде позади: -
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]" });
}
Если я установил ItemSource моего списка в код, расположенный вот так
lvUsers.ItemsSource = this.People;
он работает, и моя сетка отображается как ожидалось
Однако, если я удалю эту строку и попытаюсь связать ее в XAML
<ListView Margin="10" Name="lvUsers" ItemsSource="{Binding People}">
он больше не работает.
Почему привязка в XAML не работает?