Je vais avoir une bonne idée de la façon dont tout se combine en utilisant le modèle MVVM. Tout cela semble assez simple dans la pratique, mais en essayant de l'implémenter, il semble que je viole d'autres règles que j'essaie de coder. Juste comme une remarque, j'essaye d'implémenter le modèle utilisant Flex, pas Silverlight ou WPF, ainsi si n'importe qui peut venir avec de bonnes raisons pourquoi ceci ne devrait pas être fait, alors j'aimerais les entendre .MVVM - ce qui devrait contenir quoi ... ce qui devrait créer quoi
J'ai un problème où j'ai plusieurs vues. Parfois, je dois afficher deux vues sur la page en même temps; parfois je retourne à une seule vue. Dans mon cerveau normal de Flex j'aurais une vue principale avec un code-derrière qui a contenu toutes mes autres vues (également avec des derrière de code). Cette vue principale ferait alors la commutation des autres vues individuelles. Lorsque j'essaie de l'implémenter dans MVVM, j'essaie de m'en tenir aux principes de MVVM en utilisant la liaison qui sépare mon Views
de ViewModels
. Disons que je crée un ViewModel
pour un état à l'échelle de l'application et mon ApplicationView
se lie à ces données et effectue toute la commutation des sous-vues.
Maintenant, où dois-je créer mes modèles de vue pour mes sous-vues? J'ai essayé dans le ApplicationView
- cela n'a pas semblé juste. Et puis j'ai essayé en dehors de la vue de l'application et en passant et l'instance de celui-ci dans le ApplicationView
et puis mes sous-modèles une liaison à elle. Est-ce que je manque quelque chose? Aucune de ces méthodes ne semble aller dans le sens d'essayer de découpler cela.
Tous les bons livres ou des liens qui expliquent ce problème seraient très appréciés.
Cheers, James
OK donc je pense que cela a éclairci ma confusion que je ne sais pas si les vues doivent contenir une référence au modèle de vue qui est comment vous décrivez dans le premier exemple. Je vais laisser cela ouvert pendant quelques jours pour voir si quelqu'un d'autre commente mais c'est fondamentalement ce que je recherchais. merci –
Les seules "références" que la vue devrait avoir à ViewModel devraient être des liaisons déclaratives. L'objectif de MVVM est que la View et le ViewModel soient agnostiques les uns des autres. – markti