У меня есть класс, назовите его People, который реализует INotifyPropertyChanged и имеет два свойства: Имя и Фамилия.
public IList<People> myCollection;
myCollection = new ObservableCollection<People>();
myCollection.add(new People("Jerry", "Jerry");
myCollection.add(new People("Tom", "Tom");
в XAML у меня есть список с именем ListOfNames
Я могу сделать:
ListOfNames.ItemsSource = myCollection;
И все работает просто отлично. У меня вопрос, как я могу назначить myCollection как ItemsSource через XAML?
С одним объектом, например:
People myPerson = new People("Tom", "Tom");
<Window.Resources>
<local:People x:Key="myPerson" />
</Window.Resources>
<label Content="{Binding source={StaticResource myPerson}}" />
Привязка работает правильно. Тем не менее, если я попробую со списком:
<Window.Resources>
<local:People x:Key="myCollection" />
</Window.Resources>
<ListBox ItemsSource="{Binding source={StaticResource myCollection}}" />
Ничего не отображается. Понятно, что я что-то неправильно понял и делаю это неправильно. Я предполагаю, что он ожидает объект «Люди», и получение списка объектов приводит его в замешательство, то есть на список следует ссылаться по-разному. Как это сделать, пожалуйста.