У меня есть класс Person:
public class Person : INotifyPropertyChanged
{
private String name = "";
public event PropertyChangedEventHandler PropertyChanged;
public Person()
{
NameProperty = "hi";
}
public Person(String _name)
{
NameProperty = _name;
}
public String NameProperty
{
get { return name; }
set
{
name = value;
OnPropertyChanged("NameProperty");
}
}
public override String ToString()
{
return NameProperty;
}
protected void OnPropertyChanged(string name)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(name));
}
}
}
И я могу привязать экземпляр моего класса к TextBox:
myPerson = new Person("demas");
Binding myBinding = new Binding("NameProperty");
myBinding.Source = myPerson;
txtName.SetBinding(TextBox.TextProperty, myBinding);
Теперь у меня есть коллекция моего класса, и я хочу привязать ее к ListBox:
List<Person> myCollection = new List<Person>(); // on the MainWindow level
myCollection.Add(new Person("one"));
myCollection.Add(new Person("two"));
myCollection.Add(new Person("three"));
Итак, я должен увидеть в ListBox три значения: одно, два, три. Как я могу это сделать?