2010-09-12 30 views
1

Je suis nouveau à Silverlight/Prism, donc je ne sais pas comment une nouvelle page de mise en page serait rendue. J'ai le shell qui fonctionne comme une page maître, mais je veux avoir plusieurs pages dans l'application avec un maître de mise en page différent. Alors, comment puis-je obtenir une autre page (shell) ou mise en page pour organiser différentes régions? Merci pour vos commentaires conceptuels!Silverlight Prism: Comment changer la disposition du shell pour une nouvelle page?

Répondre

1

Le traitement des régions Prism comme les pages maîtres semble toujours mener à la confusion. Il n'est pas conçu (comme ASP.Net) pour potentiellement rendre un nouveau shell autour de chaque page qui apparaît. Cela a été créé pour un modèle Navigateur -> Serveur -> Navigateur dans lequel la page est recréée à chaque requête.

Pour implémenter un scénario de style page maître, tout ce que vous faites est de fournir un choix de coques externes qui ont les mêmes noms de région définis, mais dans différents visuels ou positions. Si vous modifiez le shell via un élément/une région dans le visuel racine, toutes les régions enfants seront repeuplées dans leur nouvelle maison.

Personnellement, je traite Silverlight plus comme une application de bureau et moins comme un site Web. J'ai laissé tomber l'idée des pages maîtres (comme il se sent en arrière) et juste utiliser un style dynamique pour les changements globaux.

Espérons que cela aide.

2

Avez-vous envisagé que votre vue Shell contienne un ContentControl ou un ItemsControl afin que vous puissiez charger par programme des vues différentes. Ces différentes vues pourraient alors contenir des régions ou ce que vous vouliez.

Je me souviens aussi que PRISM est assimilé à un buffet, vous pouvez choisir et choisir les pièces à utiliser. Une fois que vous regardez ItemsControl et ContentControl, pensez aux régions qui offrent.