Michael Niethammers Blog

25.11.2009

Verwendung der WPF ComboBox mit Linq

Abgelegt unter: C#, LINQ, WPF — admin @ 11:00

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:

image

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:

image

In meiner Pflegemaske ist die Combo so definiert:

image

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

image

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.

4.11.2009

MDA (Managed Debug Assitant) Fehler unterbinden

Abgelegt unter: .Net / Visual Studio, C# Allgemein — admin @ 11:58

Wenn man eine Visual Studio-Anwendung debugged und hat darin lang laufende LINQ-Abfragen (sicherlich passiert das auch bei Dingen die in anderen Threads asynchron laufen) kommt es zu MDA-Fehlern und dem Hinweis auf einen ContextDeadlock. Die Meldung hilft einem dabei auch nicht wirklich weiter, zumal das Problem nur beim debuggen einer Anwendung auftritt. Dieses Verhalten kann man über einen Schalter vom Visual Studio im Menü  Debug – Exceptions – Managed Debug Assistants deaktivieren/einschalten

image

Danach läuft die Anwendung in der Regel ohne anzuhalten durch.

läuft stressfrei mit WordPress ( WordPress.de )