Je crée une application de démonstration Prism 4 pour apprendre le nouveau cadre, en mettant l'accent sur la commutation de vue. L'application a plusieurs régions, dont l'une est un ItemsControl qui contient un ou plusieurs boutons du module actuellement actif.Prism 4: comment cacher des éléments dans ItemsControl?
J'inscris les boutons avec le gestionnaire de région dans la méthode Initilize()
de chaque module. Voici le code d'enregistrement du premier module:
RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton1));
RegionManager.RegisterViewWithRegion("ButtonRegion", typeof(ModuleAButton2));
Le deuxième module enregistre ses boutons de la même manière. J'utilise RequestNavigate()
pour basculer entre les deux modules.
Voici mon problème: Les boutons des deux modules sont visibles dans le ItemsControl
, au lieu de simplement les boutons du module actif. J'ai considéré changer le ItemsControl
à un ContentControl
et mettre les boutons dans un StackPanel
, mais pour des raisons que je ne vous ennuierai pas avec ici, cela ne fonctionnera pas pour moi. Ce que je dois faire est soit:
charge les boutons lorsqu'un module est activé, et les décharger quand je passe à l'autre module, ou
afficher les boutons lorsqu'un module est activé, et les cacher quand je passe à l'autre module.
Comment faire cela dans Prism 4? Merci de votre aide.