2010-10-11 10 views
1

Je suis en train de faire un sujet VB.Net à l'université et la tâche principale est la création d'une application WPF.Différentes 'vues' dans une seule fenêtre WPF

L'application est centrée sur la gestion (ajout, modification, suppression d'entrées, etc.). Comme ce sont toutes des tâches plutôt disparates, je pense à créer une interface à onglets pour mon affectation (dans le même esprit que l'interface de Spybot: http://www.2-spyware.com/images/data_images/spybot-search-and-destroy1.jpg).

Je suis un peu confus quant à la façon dont je devrais aller autour de cette approche? Btw, cela classerait-il comme MDI?

Il nous a été recommandé de créer un système de menus répertoriant toutes les options. En sélectionnant une option, une nouvelle fenêtre s'ouvrirait, l'interaction aurait lieu. Si l'utilisateur veut faire autre chose, il ferme la fenêtre pour revenir à l'écran du menu.

Cela ne me semble pas vraiment une approche élégante et il semble que ce soit un exercice intéressant pour implémenter le système basé sur les onglets que j'ai expliqué.

Je serais reconnaissant si quelqu'un pouvait me diriger dans les bonnes directions ou donner des conseils sur la façon dont je devrais atteindre. Est-il possible, par exemple, de créer chaque option dans un fichier xaml/code-behind séparé, puis de les "brancher" dans chaque onglet?

edit: Pour clarifier, prenons un hypothétique système de gestion d'équipe de football en salle. Disons qu'il y a cinq tâches différentes que l'utilisateur peut effectuer: «Enregistrer un joueur», «Modifier les joueurs», «Enregistrer une équipe», «Modifier les détails de l'équipe», «Ajouter un joueur à l'équipe».

Chaque tâche est distincte de la suivante. Une façon de créer l'application est de créer une page principale avec un bouton pour chaque tâche. Lorsqu'un utilisateur clique sur chaque bouton, une nouvelle fenêtre s'ouvre (par exemple, si l'utilisateur clique sur "Enregistrer un lecteur", une nouvelle fenêtre PlayerRegistration s'ouvre). Ce que je recherche, comme mentionné ci-dessus, est une approche basée sur les onglets. Dans mon application, si l'utilisateur clique sur «Enregistrer un joueur», le fichier xaml PlayerRegistration entier est chargé dans un segment de la fenêtre. La même chose se produit lorsque l'utilisateur clique sur un autre bouton. Je suppose qu'une façon de penser à cela serait un site Web qui utilise des cadres.

Note: si vous pensez que mon objectif n'est pas vraiment approprié et qu'il y a une meilleure façon de présenter mon application, j'aimerais entendre quelques suggestions.

+0

Bien sûr @Nraf, vérifiez cette réponse. http://stackoverflow.com/questions/224765/splitting-wpf-interface-across-multiple-xaml-files/224816#224816. Je vais voter pour fermer en double, cette réponse devrait vous aider. – Marko

+0

Cela ne répond pas vraiment à ma question. Ma question tourne plus autour de la création d'une interface utilisateur à onglets et pas tellement avec la séparation des différents éléments d'une fenêtre sur divers fichiers xaml. – NRaf

Répondre

4

Avez-vous entendu parler du modèle MVVM? Jetez un oeil à this article by Josh Smith, l'exemple qu'il utilise fait quelque chose de similaire à ce que vous voulez.

Si vous voulez qu'une seule vue d'être visible à la fois, vous pouvez utiliser un ContentControl au lieu d'un TabControl et lier son contenu à une propriété Current dans votre ViewModel principale.

+0

semble prometteur. On dirait que c'est utile. Merci. – NRaf

1

Vous pouvez jeter un oeil sur le développement d'applications composites, les addino mono (peuvent l'utiliser pour l'architecture de plugin) en combinaison avec un shell.

Questions connexes