Si vous voulez découpler votre point de vue de votre viewmodel et votre viewmodel de votre model/dal (en fait, si vous voulez utiliser MVVM), alors votre modèle de vue et votre modèle de données ne devraient rien savoir sur le temps de conception. Le temps de conception s'applique uniquement à la vue.
Cet article montre une manière de définir vos données de temps de conception via XML/XAML, de sorte que votre code ne sous pas savoir quoi que ce soit à son sujet:
http://karlshifflett.wordpress.com/2009/10/21/visual-studio-2010-beta2-sample-data-project-templates/
après modification: Il se que vous devrez toujours utiliser votre modèle de vue pour que vos liaisons XAML existantes fonctionnent. Cela va juste peupler le modèle de vue plutôt que d'avoir à créer un nouveau modèle de données. Je ne suis pas sûr, mais il pourrait y avoir des classes qui vous permettent d'utiliser le mécanisme de liaison WPF pour prendre soin de cela ... Vues?
CV Avant Modifier ...: En ce qui concerne la solution dans l'article que vous avez lié d'abord, le concepteur n'instancier rien, mais votre classe, et le code il fait référence. Cela signifie que les attributs d'assemblage ne seront pas instanciés à moins que votre code d'affichage ne les référence directement. Si vous voulez vraiment coupler vos modèles d'affichage à vos vues pendant la conception, et faire en sorte que les services de conception soient enregistrés, vous devez placer le code d'enregistrement du service dans votre classe de vue, ou une classe dans la vue. classe directement les références.
Pour ce faire, vous pouvez utiliser des constructeurs statiques de vos vues pour enregistrer vos services de conception. Vous pouvez également écrire une méthode statique sur une autre classe (application?) Pour enregistrer (conditionnellement) les services de conception. Ensuite, appelez cette méthode dans le constructeur de vos vues.
Ou vous pouvez simplement les enregistrer dans le constructeur pour chacune de vos vues.
Fondamentalement, ce que vous voulez faire est possible, mais cette méthode liée dans le premier article ne l'est pas. Si vous lisez plus loin dans les commentaires, vous verrez que sa méthode est cassée.
Vous pouvez également contester l'idée d'accrocher votre modèle de vue à votre vue pendant la conception, car le modèle MVVM a été créé pour éviter ce genre de chose.
Je sais (un peu) quel est le localisateur de service, je sais ce que «en conception» est, et je sais ce que MVVM est, mais je ne sais pas pourquoi vous Vous souhaitez vous connecter aux services au moment du design. Quel problème essayez-vous de résoudre ici? Un peu plus de contexte peut être utile pour quelqu'un qui essaie de trouver des alternatives pour vous. Et si la même configuration et le même code ont fonctionné pour vous sur votre autre ordinateur, cela ressemble à un problème de support technique plutôt qu'à un problème de programmation ..? –
J'ai ajouté une modification pour que je puisse vous donner un meilleur aperçu! – Peter
@Petoj: Où se décompose-t-il, la connexion view-> viewmodel, ou la connexion viewmodel-> dal/servicelocator? –