Bonjour,

Un soucis trivial avec une observable collection ...

Je bind une observable collection sur un contrôle:

ViewModel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 
    public class MapViewModel
    {
 
        private ObservableCollection<Line> _SelectedLines = new ObservableCollection<Line>();
        public ObservableCollection<Line> SelectedLines
        {
            get
            {
                return _SelectedLines;
            }
            set
            {
                _SelectedLines = value;
                RaisePropertyChanged("SelectedLines");
            }
        }
[...]
View :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<TextBlock Text="{Binding SelectedLines, Converter={StaticResource selectedLinesConverter}}"/>
Converter :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    public class SelectedLinesConverter : IValueConverter
    {
        #region IValueConverter Members
 
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            var lines = (IEnumerable<MapService.Line>)value;
            return string.Join(" - ", lines.Select(l => l.Name).ToArray());
        }
 
        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            throw new NotImplementedException();
        }
 
        #endregion
    }
La méthode du converter est bien appelée au premier binding mais pas lorsque je rajoute des éléments dans mon observable collection... mais pourtant c'est bien le but de l'observable collection d'alerter quand elle est modifié ?
Il me semblait avoir faire la même chose en WPF ...

J'ai raté quelque chose ?

Merci