Dans le modèle, je:WPF Liste des ViewModels liés à la liste des objets Modèle
public ObservableCollection<Item> Items { get; private set; }
Dans le ViewModel, j'ai une liste correspondante de ItemViewModels. Je voudrais que cette liste soit deux sens lié à la liste du modèle:
public ObservableCollection<ItemViewModel> ItemViewModels ...
Dans le XAML, je lie (dans ce cas un TreeView) à la propriété ItemViewModels.
Ma question est, qu'est-ce qui se passe dans le "..." dans le ViewModel montré ci-dessus? J'espère qu'une ligne ou deux de code lie ces deux ObservableCollections (fournissant le type de ViewModel à construire pour chaque objet de modèle). Cependant, ce que je crains est nécessaire est un tas de code pour gérer l'événement Items.CollectionChanged et met à jour manuellement la liste ItemViewModels en construisant ViewModels si nécessaire, et le contraire qui mettra à jour la collection Items basée sur les modifications de ItemViewModels.
Merci!
Eric
Merci! Je savais que quelqu'un avait déjà fait le travail pour encapsuler cette fonctionnalité. Une question: Je vois que vous utilisez le isSameSource lorsque l'action de changement est Supprimer. Pourquoi ne pas simplement utiliser le e.OldStartingIndex et e.OldItems.Count: pour (int i = 0; i
Eric
@Eric, oui, ça pourrait marcher, et ce serait mieux ...si vous êtes certain que les deux collections sont dans le même ordre. Comme je ne gère pas le cas 'NotifyCollectionChangedAction.Move', ce n'est pas garanti ... –
Ey merci. Juste ce que je cherchais :) –