в настоящее время я пытаюсь создать TextBlock для каждого объекта в предоставленном списке. Объект имеет тип человека с различными полями, но я хочу отобразить его полное имя в качестве содержимого для TextBlock. Я делаю это так:
XAML
<ItemsControl ItemsSource = "{Binding GetPeople}">
<ItemsControl.ItemTemplate>
<DataTemplate>
<Grid>
<StackPanel>
<TextBlock Text = "{Binding Path=FullName}" />
</StackPanel>
</Grid>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Это получает правильные значения для каждого объекта в списке, однако, когда я добавляю новый объект в список, он не отображается, пока я не перезагружу элемент управления.
Любая помощь будет оценена по достоинству! Спасибо!
Вам нужно использовать ObservableCollection<T>
, BindingList<T>
или другую коллекцию, которая может создавать события.
Не используйте
List<Object>
. ИспользуйтеObservableCollection<Object>
. ObservableCollection вызывает событие (CollectionChanged
), когда элемент добавляется, удаляется или заменяется. В списке нет.