ShinmA
Erfahrenes Mitglied
Hallo alle miteinander,
ich habe noch ein Verständnis Problem beim binden von Daten an eine Combobox in C# und hoffe ihr könnt mir dabei helfen.
Ich habe ein Objekt "Erfassung" welches Eigenschaften zur Verfügung stellt welche von
der Erfassungsmaske per DataContext gebunden werden.
Das Binden an eine handelsübliche Textbox stellt keine Probleme dar. Beim laden eines anderen Datensatzes werden die Daten auch automatisch geändert.
Allerdings lässt die Combobox sich partou nicht binden. Da ich es möglichste simpel gestalten möchte habe ich ein Itemtemplate erstellt in dem ein Textblock vorhanden ist.
Dadurch wollte ich erreichen, daß ich einfacher (?) auf den DataContext zugreifen kann - ob das wirklich die idealste Lösung ist könnt ihr mir auch sagen
Mit dem Code rührt sich allerdings garnicht, dabei will ich nur das, im aktuellen DataContext vorhandene, Element "Art" anzeigen. Wenn das funktioniert füge ich dem Code noch statische Comboboxitems hinzu die als Auswahlmöglichkeiten dienen sollen.
Soweit mein Verständnis reicht sage ich der CB mit Itemssource, daß die CB auf den aktuellen DataContext des Windows zugreifen soll. Und mit IsSynchonizedWithCurrentItem das immer das aktuelle Items aus dem Context angezeigt wird. Mit dem Datatemplate greife ich darauf dann zu und zeige das aktuelle Item an.
Ich hoffe ihr könnt mir sagen wie die Bindung funktionieren wird
ich habe noch ein Verständnis Problem beim binden von Daten an eine Combobox in C# und hoffe ihr könnt mir dabei helfen.
Ich habe ein Objekt "Erfassung" welches Eigenschaften zur Verfügung stellt welche von
der Erfassungsmaske per DataContext gebunden werden.
Code:
DataContext = oErfassung;
Das Binden an eine handelsübliche Textbox stellt keine Probleme dar. Beim laden eines anderen Datensatzes werden die Daten auch automatisch geändert.
Code:
<TextBox Text="{Binding Sonstiges}" Name="txtSonstiges"/>
Allerdings lässt die Combobox sich partou nicht binden. Da ich es möglichste simpel gestalten möchte habe ich ein Itemtemplate erstellt in dem ein Textblock vorhanden ist.
Dadurch wollte ich erreichen, daß ich einfacher (?) auf den DataContext zugreifen kann - ob das wirklich die idealste Lösung ist könnt ihr mir auch sagen

Code:
<ComboBox Grid.Column="1"
Grid.Row="4"
Name="cbArt"
Margin="0,0,0,7"
IsEditable="True"
ItemsSource="{Binding}"
IsSynchronizedWithCurrentItem="True">
<ComboBox.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Art}" />
</StackPanel>
</DataTemplate>
</ComboBox.ItemTemplate>
</ComboBox>
Mit dem Code rührt sich allerdings garnicht, dabei will ich nur das, im aktuellen DataContext vorhandene, Element "Art" anzeigen. Wenn das funktioniert füge ich dem Code noch statische Comboboxitems hinzu die als Auswahlmöglichkeiten dienen sollen.
Soweit mein Verständnis reicht sage ich der CB mit Itemssource, daß die CB auf den aktuellen DataContext des Windows zugreifen soll. Und mit IsSynchonizedWithCurrentItem das immer das aktuelle Items aus dem Context angezeigt wird. Mit dem Datatemplate greife ich darauf dann zu und zeige das aktuelle Item an.
Ich hoffe ihr könnt mir sagen wie die Bindung funktionieren wird
