Κοίταξε να δεις... Θα σου απαντήσω με βάση το τι συμβαίνει στα Windows Forms και ίσως αυτό σε βοηθήσει να βρεις κάποια άκρη. Αν κατάλαβα καλά, θέλεις να γεμίζεις το combobox με τιμές από ένα πεδίο ενός πίνακα, αλλά να έχεις τη δυνατότητα να εισάγεις και νέες τιμές με το πληκτρολόγιο ή προγραμματιστικά και όταν σώζεις, αυτές οι τιμές ν' αποθηκεύονται στο αντίστοιχο πεδίο του πίνακα στόχου. Αυτό πολύ απλά στα Windows Forms ΔΕΝ γίνεται όταν στο combobox έχεις δώσει datasource. Για να εισάγεις νέες τιμές προγραμματιστικά θα πρέπει να τις εισάγεις όχι στο items collection, αλλά στο underlying datasource. Αυτά ως προς τη δεύτερη περίπτωση.
Ως προς την πρώτη περίπτωση θα βγάλεις το binding και θα γεμίσεις "χειροκίνητα" το items collection του combo. Στη συνέχεια θα κάνεις Databindings.Add() για να "δέσεις" το πεδίο του πίνακα στόχου με το combo (δες κι εδώ). Ας υποθέσουμε ότι έχω έναν πίνακα Customers με ένα text πεδίο [CustomerName] και έναν πίνακα Sales. Στον πίνακα Sales έχω ένα text πεδίο [Customer] το οποίο θέλω να συμπληρώσω για κάθε πώληση. Ο κώδικας που πρέπει να γράψω για να γεμίσω το combobox με τις τιμές του [CustomerName] και στη συνέχεια να το "δέσω" πάνω στο πεδίο Customer του πίνακα Sales θα είναι κάπως έτσι:
//
// Γεμίζω το combobox items collection "χειροκίνητα" με τα ονόματα των πελατών
// που τα "παίρνω" από τον πίνακα Customers
//
foreach (DataRow dr in this.CustomerDataSet.Customers)
{
this.cmbCustomer.Items.Add(dr["CustomerName"].ToString());
}
//
// Ας υποθέσουμε ότι έχουμε έναν πίνακα Sales και μια στήλη του είναι και η [Customer].
// Για να "δέσουμε" το πεδίο με το combobox ώστε να αποθηκεύει τις τιμές που εισάγουμε σ' αυτό
// γράφουμε:
//
this.cmbCustomer.DataBindings.Add(new Binding("Text", this.SalesBindingSource, "Customer", true,
DataSourceUpdateMode.OnValidation, ""));
Ο παραπάνω κώδικας μπορεί να έχει σφάλματα, γιατί έχω κάνει κάποιες αλλαγές και μετονομασίες από δικό μου solution και δεν τις έχω ελέγξει (όλο και κάτι θα έχει ξεφύγει στο γράψε - σβήσε). Μια φορά, με βάση το documentation θα μπορέσεις να καταλάβεις τι πάει στραβά και να το διορθώσεις. Πιστεύω τα όσα γράφω να έχουν εφαρμογή και στα WPF, εκτός αν εκεί τα πράγματα λειτουργούν ΠΟΛΥ διαφορετικά...
Ακόμα κι ένας άνθρωπος μπορεί ν' αλλάξει τον κόσμο. Μη θέλεις να κυβερνήσεις. Απλά δείξε το μονοπάτι κι ο κόσμος θ' ακολουθήσει!!