| 

.NET C# Java Javascript Exception

2
Hallo,

in einem WPF-Formular möchte ich Artikeldaten darstellen und für die Auswahl bestimmter Parameter z.B. die Mengeneinheit eine Combobox verwenden. Den Datencontext habe ich auf ein Übergeordnetes Grid gesetzt. Er enthält die Artikeldaten über eine CollectionViewSource damit durch die Artikel geblättert werden kann. Die Combobox (für die Mengeneinheiten) hat ihren eigenen Context,der auf den Daten der Mengeneinheiten beruht.
Beides für sich funktioniert. In den Textboxen im Grid werden die Artikeldaten angezeigt und in der Combobox die Bezeichnungen der Mengeneinheiten.
Jetzt die Frage, wie bekomme ich beides zusammen?
1. In der Combobox soll natürlich der tatsächliche Wert aus den Artikeldaten angezeigt werden und nicht irgendein Wert aus der Liste.
2. Wie bekomme ich den geänderten Wert in die Datenbank übernommen.

Vielleicht kennt jemand ein gutes Beispiel. Danke.
31.07.2012
Torsten Menze 113 5
2 Antworten
0
Hier findest du einige Beispiele, wie Elemente an eine Combobox gebunden werden.

Für dich besonders interessant dürfte es sein, welchen Wert du an SelectedValue bindest - das muss in deinen Artikeldaten hinterlegt sein.
31.07.2012
jsc 199 1 7
Danke für die Antwort aber mein Problem ist eher, dass die Daten für die Combobox nicht aus dem gleichen Context kommen. Die Artikeldaten kommen aus dem von der Combox geerbten Context. Wie bekomme ich aber jetzt die Daten für die Auflistung der Mengeneinheiten an die Combobox gebunden?
Torsten Menze 31.07.2012
0
hallo Torsten - ich habe ein sehr ähnliches Problem zu lösen gehabt. Vermutlich ist mein Ansatz nicht der eleganteste Weg aber er funktioniert.

- Als Itemssource für die Combobox dient eine View einer DataTable.
- Sowohl Text als auch SelectedValuePath haben Bindings (one-way) zum DataContext.
- UpdateSourceTrigger bei diesen beiden Bindings ist "PropertyChanged"
- NotifyOnSourceUpdated = true (bei beiden Bindings)
- SourceUpdated = "myCombo_SourceUpdated" 'wird beim definieren in XAML vergeben oder kann selbst bestimmt werden

- im CodeBehind-Teil reagiere ich im SourceUpdated Event und aktualisiere die DataTable, welche als ItemsSource für die ComboBox fungiert.

Das ist zwar sicherlich für Puristen gruselig aber ich habe bislang noch kein Beispiel gefunden für diesen Use-Case, in dem es nur über DataContext respektive DataBinding gelöst wurde.

viele Grüße

Michael Lutz, BITsoft
03.08.2012

Stelle deine .net-Frage jetzt!