Bonjour,

J'ai dans une fenêtre une ListBox contenant des items bindés à une SortedList qui contient une liste de business objects classé par un objet DateTime :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
SortedList<DateTime, MyObject>
Dans cette même fenêtre, j'ai une ComboBox qui contient une liste d'année. Quand je change une année pour un item de la listbox, mon BusinessObject correspondant se met bien à jour, mais ma listBox elle ne se met pas à jour. En fait, l'ordre des éléments de ma ListBox devrait changer.
Il est correct quand je relance mon appli, mais il ne se met pas à jour en temps réel.
Voici mon code XAML
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<ComboBox x:Name="cbChoixAnnee" SelectionChanged="cbChoixAnnee_SelectionChanged" Loaded="cbChoixAnnee_Loaded" Grid.Column="1" Grid.Row="1" SelectedItem="{Binding Path=Annee, UpdateSourceTrigger=PropertyChanged}">
.....
<ListBox Height="125" SelectionChanged="ChoixMois_SelectionChanged" Name="ChoixMois"  DockPanel.Dock="Left" IsSynchronizedWithCurrentItem="True"  ItemsSource="{Binding}" ItemTemplate="{DynamicResource ListeNDFDispo}"></ListBox>
Et le codeBehind correspondant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
CollectionView myColl =  (CollectionView)CollectionViewSource.GetDefaultView(tiFrais.DataContext);
MyObject ndf = myColl.CurrentItem as MyObject;
ndf.Annee = (int)cbChoixAnnee.SelectedItem;
myColl.Refresh();
Je ne comprends pas pourquoi, sachant que les autres champs de ma fen^tre eux se mettent bien à jour.