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.

15.9.2009

WPF Multibinding – schon gewusst?

Abgelegt unter: C#, Visual Studio, WPF — wmn @ 15:26

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!

4.11.2008

Debugging von WPF Anwendungen

Abgelegt unter: C#, Visual Studio, WPF — wmn @ 15:15

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.

läuft stressfrei mit WordPress ( WordPress.de )