Hallo,
tut mir leid das ich nicht die Codezeilen gepostet habe. Muss aber gestehen so richtig zum posten gibt es da auch nichts versuche es trozdem
Hier lade ich als erstens meine Klassen welche die Daten besitzten. das Object Simulationdata enthält eine liste von adressen. Die liste besitzt eine Funktion wodurch ich eine äquivalente Liste für WPF bekomme. Diese Liste lade ich in meine ressource "Adresslist" die der Listbox als Source dient
C#-Quelltext
1: 2: 3: 4: 5:
| AdressenListe.SelectionMode = SelectionMode.Single; Simulationdata data = ConfigFactory.getSimulatioData();
ObjectDataProvider provider = (ObjectDataProvider)FindResource("Adresslist"); provider.ObjectInstance = data.AllAddress.getWPFList(); |
XML-Daten
1: 2: 3: 4:
| <ListBox Margin="39.816,0,0,126.218" IsSynchronizedWithCurrentItem="True" Grid.ColumnSpan="2" Grid.Row="1" Grid.RowSpan="5" ItemsSource="{Binding Source={StaticResource Adresslist}}" SelectionChanged="ShowAdress" x:Name="AdressenListe"/> |
C#-Quelltext
1: 2: 3: 4: 5:
| private void ShowAdress(object sender, SelectionChangedEventArgs e) { ObjectDataProvider provider = (ObjectDataProvider)FindResource("currentAdress"); provider.ObjectInstance = AdressenListe.SelectedItem; } |
diese Funktion wird bei jeder änderung der Selection von der Listbox aufgerufen. Diese nimmt das aktuell selektierte element und stellt es durch die resource "currentAdress" den Listboxen zurverfügung. Die listboxen wiederum sind per minding mit diesem element verbunden.
Den fehler selbst kann man einerseits auf dem benutzerinterface sehen aber auch in der Funktion ShowAdress.
Habe noch ein paar sachen ausprobiert und festgestellt das, dass Projekt welches den fehler hier darstellen soll den fehler nicht immer darstellt. Wenn der neu eingegebene string kleiner als der alte ist kommt der fehler nicht immer. Wenn er allerdings länger als der alte string ist dann passiert der fehler eigentlich fast immer.
MFG sworddancer