xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:WpfApplication1"
Title="Binding to a Collection"
SizeToContent="WidthAndHeight">
My Friends:
ItemsSource="{Binding Source={StaticResource MyFriends}}"/>
Information:
ContentTemplate="{StaticResource DetailTemplate}"/>
//File:Window.xaml.cs
using System;
using System.ComponentModel;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Data;
using System.Windows.Media;
using System.Collections.ObjectModel;
using System.ComponentModel;
namespace WpfApplication1
{
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
}
}
public class Person : INotifyPropertyChanged
{
private string firstname;
private string lastname;
public event PropertyChangedEventHandler PropertyChanged;
public Person()
{
}
public Person(string first, string last)
{
this.firstname = first;
this.lastname = last;
}
public override string ToString()
{
return firstname.ToString();
}
public string FirstName
{
get { return firstname; }
set
{
firstname = value;
OnPropertyChanged("FirstName");
}
}
public string LastName
{
get { return lastname; }
set
{
lastname = value;
OnPropertyChanged("LastName");
}
}
protected void OnPropertyChanged(string info)
{
PropertyChangedEventHandler handler = PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(info));
}
}
}
public class People : ObservableCollection
{
public People(): base()
{
Add(new Person("A", "Q"));
Add(new Person("B", "E"));
Add(new Person("C", "E"));
Add(new Person("D", "R"));
}
}
}