C#, .NET 4.0, VS2010.
Nouveau dans WPF. J'ai une ComboBox sur ma MainWindow. J'ai accroché l'événement SelectionChanged de ladite boîte combo. Cependant, si j'examine la valeur de la boîte combo dans le gestionnaire d'événement, elle a l'ancienne valeur. Cela ressemble plus à un événement "SelectionChanging" qu'à un événement SelectionChanged.
Comment puis-je obtenir la nouvelle valeur de la ComboBox après que la sélection ait eu lieu ?
Actuellement :
this.MyComboBox.SelectionChanged += new SelectionChangedEventHandler(OnMyComboBoxChanged);
...
private void OnMyComboBoxChanged(object sender, SelectionChangedEventArgs e)
{
string text = this.MyComboBox.Text;
}
Remarque : j'obtiens le même comportement si j'utilise l'objet transmis dans les arguments de l'événement, par exemple e.OriginalSource.
2 votes
Je viens de tomber sur le même problème - merci ! Est-ce que c'est en fait un bug, et il aurait dû être nommé
SelectionChanging
en premier lieu ?0 votes
L'inspection du code source de la méthode ComboBox.OnSelectionChanged montre que celle-ci publie l'événement et puis traite l'élément sélectionné. Dans un problème connexe J'ai utilisé la réflexion pour le forcer à traiter l'élément sélectionné à partir de mon gestionnaire d'événement SelectionChanged.