J'ai un projet WPF basé sur Prism février 2009 communiqué mis en place comme:WPF Prism - Pour utiliser les régions Scoped ou non?
Shell expose un ContentControl comme « MainRegion » Une autre vue (contrôle de l'utilisateur) défini dans le projet d'infrastructure appelé SPLITVIEW expose deux régions supplémentaires « LeftRegion "et" RightRegion "aussi comme ContentControl.
Certains des modules de ma demande doivent afficher leur vue dans MainRegion (un contrôle utilisateur), alors que d'autres doivent afficher leurs vues (deux contrôles utilisateur de manière séparée) dans LeftRegion et RightRegion.
J'ai essayé d'utiliser des régions délimitées, en supposant que des contrôleurs spécifiques contiendraient des références aux régions délimitées. Donc, fondamentalement, chaque contrôleur intéressé par la fonctionnalité SplitView doit instancier un nouveau SplitView (contrôle utilisateur) et l'activer dans MainRegion tout en activant ses deux contrôles utilisateur dans LeftRegion et RightRegion des régions scindées scindées. J'utilise MVVM avec View Injection pour afficher les vues.
Inutile de dire que quelque chose a horriblement mal tourné avec cette approche. Lors de l'exécution, j'obtiens cette exception, "Une exception s'est produite lors de la création d'une région avec le nom" LeftRegion ", à l'exception de: System.InvalidOperationException: l'élément spécifié est déjà l'enfant logique d'un autre élément. Ai-je raison de supposer que LeftRegion et RightRegion essaient de s'enregistrer avec le principal RegionManager chaque fois que j'instancie SplitView?
Désolé pour le message confus/verbose. Aucune suggestion? Les meilleures pratiques pour y parvenir?
Merci à l'avance,
Ali
Je pense que vous allez devoir poster du code là-bas. J'ai relu votre message plusieurs fois et je ne suis pas à 100% sur ce que vous essayez de faire. –
Anderson, fondamentalement ce que j'essaye de faire est d'instancier une vue (SplitView) plusieurs fois et cette vue définit ses propres régions (deux régions ContentControl, nommées "LeftRegion" et "RightRegion"). Je peux poster du code si c'est encore un peu flou. Merci. – Ali