public partial class ComplexBinding : Window {
private NorthwindDataContext dc;

public ComplexBinding() {
	InitializeComponent();
}

private void Window_Loaded(object sender, RoutedEventArgs e) {
dc = new NorthwindDataContext();
bindWindow();
}

private void reloadCustomersList_Click(object sender,
RoutedEventArgs e) {
bindWindow();
}

private void bindWindow() {
this.DataContext =
from c in dc.Customers
select c;
}

private void addNewCustomer_Click(object sender, RoutedEventArgs e) {
Customer c = new Customer {
CustomerID = "DLEAP",
ContactName = "Paolo Pialorsi",
CompanyName = "DevLeap",
Country = "Italy",
};

dc.Customers.InsertOnSubmit(c);
dc.SubmitChanges();
}

private void deleteCustomer_Click(object sender, RoutedEventArgs e) {
Customer c = dc.Customers
	.First(i => i.CustomerID == CustomerID.Text);
if (c != null) {
dc.Customers.DeleteOnSubmit(c);
dc.SubmitChanges();
}
}
}
