J'ai une question sur un modèle Databinding Silverlight WCF:Quel est un bon motif pour lier une collection d'objets provenant de WCF, dans Silverlight?
Il existe de nombreux exemples sur la façon de lier les données en utilisant des expressions {Binding} dans XAML, comment faire des appels asynchrones à un service WCF, définissez la propriété DataContext d'un élément dans l'interface utilisateur, comment utiliser ObservableCollections et INotifyPropertyChanged, INotifyCollectionChanged et ainsi de suite.
Arrière-plan: J'utilise le modèle MVVM et j'ai un objet Silverlight ItemsControl dont ItemsSource est défini sur une propriété ObservableCollection sur mon objet ViewModel. Ma vue est bien sur le XAML qui a la {Binding}. Supposons que l'objet modèle s'appelle 'Metric'. My ViewModel effectue périodiquement des appels à un service WCF qui renvoie ObservableCollection. MetricInfo est l'objet de transfert de données (DTO).
Ma question est double:
- Est-il possible d'éviter la copie de chaque propriété de MetricInfo à la classe modèle - métrique?
- Lorsque les appels WCF sont terminés, est-il possible de synchroniser les éléments de mon ObservableCollection local et le résultat de l'appel WCF, sans avoir à effacer tous les éléments de la collection locale, puis ajouter tous ceux du résultat de l'appel WCF?
grâce, Krishna
Merci Dave. Je suis allé avec une certaine logique pour faire des mises à jour/insertions dans la collection locale. J'espérais éviter cela. En regardant tous les échantillons sur le web - vous penseriez que c'est trop simple - mais à la fin, pour des scénarios réels, nous finissons par faire beaucoup plus de plomberie en dépit d'un bon cadre de liaison de données dans Silverlight/WPF. – Krishna