2010-12-07 32 views
0

Je n'utilise pas les services WCF RIA ... J'ai un service OData personnalisé utilisé par mon application SL4. Je dois ajouter une validation à mes formulaires. Je remarque que le proxy que VS2010 crée n'implémente pas IDataErrorInfo sur les entités. J'essaie de l'ajouter à mon modèle de vue, mais la validation n'est pas reconnue par mon application SL.Ajout d'IDataErrorInfo (ou de validation) au service OData personnalisé (sans les services WCIA RIA) + MVVM

Est-il possible d'ajouter une validation comme celle-ci? Surpris, je ne l'ai pas pu trouver plus de résultats à ce sujet dans mes recherches ... :(

Répondre

0

Demandez à votre ViewModel mettre en œuvre INotifyDataErrorInfo et il devrait fonctionner. :)

+0

Mon problème est que ViewModel ne contient pas de propriétés pour la liaison à des éléments spécifiques; Ce n'est pas mon entité. Il a une collection d'entités que je lie à. L'entité individuelle est définie dans le proxy de service OData. Lors de la création d'un nouvel élément, je mets à jour une propriété "WorkingCopy" de mon type d'entité sur le ViewModel. Si elles cliquent sur OK, j'ajoute la copie de travail à la collection et persiste les changements. Par conséquent, l'implémentation de INotifyDataErrorInfo sur la machine virtuelle ne déclenche pas les événements de validation/notification. Ce dont j'ai besoin, c'est d'un moyen d'implémenter cette interface sur l'entité (le proxy), mais je n'arrive pas à comprendre comment. –

1

figured it out (ne peut pas croire cela ne m'est pas arrivé). Le proxy généré par VS2010 pour le service OData génère des classes partielles. Tout ce que je devais faire était de créer une nouvelle classe partielle & implémenter INotifyDataErrorInfo.

Merci pour le pointeur d'interface Einarsson!