J'ai un problème de tri/liaison de WPF. (Disclaimer: Je suis très nouveau pour WPF et présenter des excuses si databinding si je pose une question vraiment stupide :-))La liaison WPF ne notifie pas les modifications
Tout d'abord, j'ai une classe d'entité LinqToSql Contact
avec une EntitySet<Booking>
réservations de propriété sur elle.
Si je lie directement à cet immeuble Réservations à une ListView
, l'application semble informer correctement des modifications à l'élément sélectionné dans la ListView
, telle qu'une zone de texte avec {Binding Path=Bookings/Comments}
met à jour correctement.
// This code works, but Bookings is unsorted
var binding = new Binding();
binding.Source = contact.Bookings;
bookings.SetBinding(ItemsControl.ItemsSourceProperty, binding);
Cependant, comme je ne peux pas l'air d'être en mesure de trouver un moyen de trier un EntitySet (voir this post), je suis en train de se lier à la place à une collection Observable, par exemple:
// This code doesn't notify of selected item changes in the ListView
var binding = new Binding();
binding.Source = new ObservableCollection<Booking>(contact.Bookings.OrderByDescending(b => b.TravelDate).ToList());
bookings.SetBinding(ItemsControl.ItemsSourceProperty, binding);
Mais cela ne semble pas notifier correctement la zone de texte des commentaires de sorte qu'elle se mette à jour.
Si quelqu'un a une solution pour trier les données avant ou après leur liaison, ou une autre solution qui fonctionnera qui serait très appréciée.
Merci, cela trés bien, mais il ne parvient toujours pas à informer des changements d'éléments sélectionnés pour une raison quelconque. –