Nachdem ich selber kein vernünftiges Beispiel zu diesem Thema gefunden habe, kommt hier kurz zusammengefasst die Verwendung der WPF/Silverlight Combobox nochmal im Zusammenspiel mit LINQ.
Folgende Tabellen liegen diesem Beispiel zugrunde:

Im Beispiel soll über eine Combobox die aktuelle Position des Mitarbeiters eingetragen werden. In der Mitarbeitertabelle gibt es dazu das ForeignKey-Feld FK_Position und eine Relation zur Tabelle Position, die als Lookuptabelle dient.
In meiner Pflegemaske ist die Liste der Mitarbeiter so definiert:

In meiner Pflegemaske ist die Combo so definiert:

Und im Codebehind der Maske werden die Daten wie folgt geladen:

Ganz wichtig damit der Refresh der Combobox richtig funktioniert:
Im Listview, der die Mitarbeiterliste anzeigt, muss die Eigenschaft IsSynchronizedWithCurrentItem=”True” zu setzen!! Nur dann wird der aktuelle “Datensatz” in der Collection beim Blättern in der Liste auch umgesetzt und nur dadurch refreshed sich auch die Combobox wie gewünscht.
Seit der Version 3.5 SP1 gibt es beim Databinding ein neues Feature, das man z.B. für die Anzeige von Tooltips bequem nutzen kann:
Dies hier wäre wohl der “klassische Ansatz um mehrere Texte als Tooltip anzuzeigen:
<Element>
<Element.Tooltip>
<StackPanel Orientation=“Horizontal”>
<TextBlock Text=“{Binding Path=Feldwert1}”/>
<TextBlock Text=“% von, “/>
<TextBlock Text=“{Binding Path=Feldwert2}”/>
<TextBlock Text=“% bis”/>
</StackPanel>
</Element.Tooltip>
</Element>
So gehts inzwischen aber auch:
<TextBox.Text>
<MultiBinding StringFormat=“{}{1:#0}% von, {2:#0}% bis”>
<Binding Path=“Feldwert1″ />
<Binding Path=“Feldwert2″/>
</MultiBinding>
</TextBox.Text>
Interessanterweise kann man diese Syntax auch in der Datenpflege anwenden. Das führt dazu, dass die Werte der zwei dahinterliegenden Felder in einer
Textbox erscheinen und dort auch gepflegt werden können. Allerdings ist das für den Anwender nicht gerade transparent wo das erste Feld aufhört und
wo das zweite anfängt. Auch das Thema Datenvalidierung wird dadurch sicher schwieriger. Insofern ist dieses neue Feature hier sicher nicht angebracht!
WPF Anwendunggen sind ja derzeit nur recht umständlich zu debuggen. Inzwischen gibt’s ein Zusatztool namens Mole: Mole for WPF

Eine ausführliche Dokumentation, Link zu Videos und natürlich der Download selbst, ist auf CodeProject.com zu finden.
Das Tool ist dabei eine große Hilfe da man die aktuellen Werte sehen und verändern kann.