2009-08-20 10 views
2

J'utilise WPF/MVVM et j'ai un problème de liaison avec un ComboBox - toute aide appréciée!WPF - Problème de liaison ComboBox

Heres mon Combo ...

<ComboBox Name="ComboBoxAvailableCriteria" Width="255" ItemsSource="{Binding AvailableCriteria}" DisplayMemberPath="SearchableAttribute.Name" /> 

Et voici mon ViewModel ...

private List<SearchCriteria> _availableCriteria; 
    public List<SearchCriteria> AvailableCriteria 
    { 
     get { return _availableCriteria; } 
     set 
     { 
      if (_availableCriteria == value) return; 
      _availableCriteria = value; 
      OnPropertyChanged("AvailableCriteria"); 
     } 
    } 

    public void RemoveCriteria(SearchCriteria searchCriteria) 
    { 
     _availableCriteria.Remove(searchCriteria); 
     OnPropertyChanged("AvailableCriteria"); 
    } 

Mon problème est que même si RemoveCriteria supprime l'élément de la liste, il ne met pas à jour la zone de liste déroulante sur la vue. Quelqu'un peut-il aider?

Merci,

Andy

Répondre

3

Vous devez utiliser un ObservableCollection au lieu d'une liste dans votre ViewModel.

+0

bon, merci pour votre aide –

+2

Apprendre à propos de ObservableCollection est la première étape pour ne jamais quitter WPF: D – user7116