private void dgKlanten_PreviewKeyDown(object sender, System.Windows.Input.KeyEventArgs e)
        {
            var grid = (DataGrid)sender;

            if (Key.Delete == e.Key)
            {
                if (!(MessageBox.Show(Translations.RemoveCustomer, Translations.Confirm, MessageBoxButton.YesNo) == MessageBoxResult.Yes))
                {
                    // Cancel Delete.
                    e.Handled = true;
                    return;
                }

                // We moeten een while gebruiken en telkens testen want met foreach treden problemen op omdat de verzameling intussen telkens wijzigt!
                while (grid.SelectedItems.Count > 0)
                {
                    var   row   = grid.SelectedItems[0];
                    Klant klant = row as Klant;
                    if (klant.GetBestellingen().Count == 0)
                    {
                        _klanten.Remove(row as Klant);
                    }
                    else
                    {
                        MessageBox.Show(Translations.RemoveOrdersFromCustomer + klant.Naam, Translations.RemoveCustomerError, MessageBoxButton.OK, MessageBoxImage.Warning);
                        break;
                    }
                }
            }
        }
 private void DeleteButton_Click(object sender, RoutedEventArgs e)
 {
     // We moeten een while gebruiken en telkens testen want met foreach treden problemen op omdat de verzameling intussen telkens wijzigt!
     while (dgKlanten.SelectedItems.Count > 0)
     {
         var   row   = dgKlanten.SelectedItems[0];
         Klant klant = row as Klant;
         if (klant.GetBestellingen().Count == 0)
         {
             _klanten.Remove(row as Klant);
         }
         else
         {
             MessageBox.Show(Translations.RemoveOrdersFromCustomer + klant.Naam, Translations.RemoveCustomerError, MessageBoxButton.OK, MessageBoxImage.Warning);
             break;
         }
     }
 }