J'ai une vue prisme/silverlight et il est mappé à un tabitem dans un contrôle onglet de mon shell. Cela ressemble à ceci.Création de plusieurs instances d'un viewmodel dans Prism/Silverlight
<sdk:TabControl>
<sdk:TabItem Header="User Portfolio" Regions:RegionManager.RegionName="MainRegion" />
<sdk:TabItem Header="Benchmark Portfolio" Regions:RegionManager.RegionName="BenchRegion" />
</sdk:TabControl>
La vue se compose d'une grille de données, zone de texte et un bouton de telle sorte que les cartes DataGrid à une ObservableCollection dans le viewmodel et lorsque le bouton est cliqué, le texte dans la zone de texte est ajouté à la grille de données (et correspondant collection).
Maintenant, je veux déclarer plusieurs instances de cette paire view-viewmodel. Autrement dit, dans Tabitem "MainRegion" je veux une instance. Dans tabitem "BenchRegion" je veux une autre instance
Comment est-ce que je fais ceci?
Bien que cela soit probablement implicite, mais enfin, vous devez ajouter chaque vue à la région respective. Une autre approche consisterait à enregistrer le type de vue dans chaque région; Ainsi, lorsque les régions sont affichées, les instances des vues (et, si elles sont effectuées correctement avec le modèle de vue en tant que dépendance de la vue, les modèles de vue) seront automatiquement créées pour chaque région. –
oui j'ai supposé que s'il utilisait des régions il savait ajouter les vues aux régions :) –