Bonjour,

J'ai un petit problème de binding sur une listbox, et je ne comprend pas ce qui cloche : la propriété bindée de mon ViewModel est une ObservableCollection :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Private _personList As ObservableCollection(Of Person)
    Public Property PersonList() As ObservableCollection(Of Person)
        Get
 
            If IsNothing(_personList) Then
                _personList = GetPersonList()  //retourne quelques items de Person
            End If
            Return _personList
        End Get
        Set(ByVal value As ObservableCollection(Of Person))
            _personList = value
            OnPropertyChanged(Me, "PersonList")
        End Set
    End Property
ma window resource :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<local:MainWindowViewModel x:Key="MainWindowViewModelDataSource"/>
le datacontext de ma listbox
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DataContext="{Binding Source={StaticResource MainWindowViewModelDataSource}}"
et l'itemsource de ma listbox:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ItemsSource="{Binding PersonList, Mode=TwoWay}"
(j'ai aussi un datatemplate, et une procedure pour supprimer un élément que je ne note pas ici)

La collection s'affiche correctement au démarrage, mais je ne parviens pas à la faire se rafraichir lorsque je modifié PersonList ??

Quelqu'un a-t-il un exemple de code simple de binding MVVM de la source d'une listbox en .NET, car je ne comprend vraiment pas ce qu'il manque !!

Merci,

Stéphane