Wenn ich ein von SubSonic 3 erzeugtes IQueryable-Ergebnis an die ItemsSource einer WPF-ComboBox oder eines DataGrids anbinde, kann ich das ausgewählte Element nicht ändern die ComboBox oder das DataGrid mehr als einmal. Ich benutze SubSonic 3.0.0.3 und ActiveRecord.SubSonic 3 und WPF ItemsSource (ComboBox, DataGrid) - ausgewähltes Objekt wird nicht mehr als einmal aktualisiert
Hier ist ein Beispiel:
In meinem Code:
var foo = FooDB.Customer.All();
FooComboBox.ItemsSource = foo;
In meiner XAML:
<ComboBox DisplayMemberPath="CustomerName" Name="FooComboBox" />
Schritte zum Reproduzieren:
- Run-Anwendung. Beachten Sie, dass in meiner ComboBox (zu Beginn) keine Elemente ausgewählt sind.
- Klicken Sie auf die ComboBox. Das Dropdownfeld wird mit mehreren Kundennamen angezeigt.
- Wählen Sie den Kundennamen X im Dropdown-Menü aus. Das Dropdown wird ausgeblendet und X ist jetzt ausgewählt.
- Klicken Sie erneut auf die ComboBox. Das Dropdown wird angezeigt.
- Wählen Sie den Kundennamen Y in der Dropdown-Liste aus. Das Dropdown wird ausgeblendet, aber X ist immer noch ausgewählt.
Vielen Dank im Voraus.
Ein wenig mehr Info: Ich schrieb eine einfache Klasse, um die von SubSonic erzeugte Customer-Klasse zu umbrechen (sie enthält eine Eigenschaft, die eine Customer-Instanz erhält/setzt), legte sie in eine Collection und ordnete die Collection der ItemsSource zu der ComboBox. Mit diesem Hack funktioniert die ComboBox wie erwartet. Aber warum? Sind die Eigenschaften/Methoden der Customer-Klasse Probleme mit der ItemsSource? (ist das möglich?) – sparks