10
votes

Ouverture d'une boîte à propos de MVVM Modèle

Je travaille sur une nouvelle application WPF et j'essaie de rester aussi près du modèle MVVM que possible. Mes fichiers XAML à l'heure actuelle n'ont pas de codeBehinds et toute mon interactivité est obtenue à l'aide de la classe et des commandes de Josh Smith's RelayCommand de mes classes de la viewModel.

Cela a fonctionné super jusqu'à ce que je commence à travailler sur les tâches de ménage, telles qu'une page à propos de la boîte et une page de préférences système. Je veux les avoir comme des dialogues modales, mais si je crée un relaisCommand pour ouvrir ces pages, je créerai une dépendance à la vue de mon modèle de vue.

Cela me frappe comme contre le grain du motif MVVM.

Y a-t-il une méthode établie pour créer de nouvelles fenêtres (modales et / ou modales) dans le motif MVVM sans créer de dépendance? Il semble que je puisse garder la seule façon de conserver la vue de la vue, c'est créer un gestionnaire d'événements de clic dans le fichier XAML CodeBeHind et créer la nouvelle vue dans l'ancienne vue.

toute recommandation?


0 commentaires

5 Réponses :


7
votes

Un moyen de gérer cela consiste à mettre en œuvre un service qui offre des vues aux images de vue. Vues Inscrivez-vous avec le service et les menuels de vie peut demander des dialogues auprès du service. Ceci est un exemple de bande de quatre modèle de médiateur .


0 commentaires

0
votes

S'il vous plaît voir ma réponse à Cette question sur pourquoi la fenêtre La classe elle-même est une vue de vue, vous pouvez donc l'utiliser directement à partir de votre viewModel sans soucis.


0 commentaires

0
votes

Le Bugnion Laurent a un médiateur faiblement référencé, dans lequel il l'utilise pour montrer des messages de dialogue. En plus du message diffusé, un délégué de rappel est envoyé pour l'abonné à exécuter. Vous pouvez utiliser le même concept pour montrer un dialogue à propos de. Découvrez DialogMessage.cs de la source ici .


0 commentaires

0
votes

Nous utilisons des classes de contrôleur responsables du flux de travail de l'interface utilisateur. Ils créent les fenêtres modales et elles médiatives entre divers mots de vue.

Comment ouvrir une fenêtre modale avec le modèle View-Model-ViewModel (MVVM) est affiché dans l'application EXPOSITION VIEWMODEL ICI:

Cadre d'application WPF (WAF)

http://waf.codeplex.com


0 commentaires

1
votes

Regardez à ma solution de dialogue modale pour Silverlight 4:

Dialogues modaux avec MVVM et Silverlight 4


0 commentaires