Attualmente sto lavorando con il controllo Tab e ho creato una regione in modo che diventi il mio host.Prisma WPF come avere viste duplicate all'interno di una regione
quello che sto cercando di fare è aggiungere la stessa vista ad una regione due volte .. si potrebbe chiedere perché? e perché l'applicazione sta diventando una semplice app di chat - ci saranno molte istanze della vista ma ognuna avrà informazioni diverse.
il mio codice finora ;;
IConversationDetailsPresentationModel convDetailsView1 =
this.Container.Resolve<IConversationDetailsPresentationModel>();
IRegionManager manager = this.Container.Resolve<IRegionManager>();
manager.RegisterViewWithRegion("TabRegion",() => convDetailsView1);
IConversationDetailsPresentationModel convDetailsView2 =
this.Container.Resolve<IConversationDetailsPresentationModel>();
manager.RegisterViewWithRegion("TabRegion",() => convDetailsView2);
E i miei punti di vista sono registrati con unità così ;;
this.Container.RegisterType<IConversationDetailsPresentationModel, ConversationDetailsPresentationModel>(
new TransientLifetimeManager());
this.Container.RegisterType<IConversationDetailsView, ConversationDetailsView>(
new TransientLifetimeManager());
anche, il mio XAML
<TabControl TabStripPlacement="Left"
Width="Auto"
Height="Auto"
cal:RegionManager.RegionName="TabRegion"
Name="TabRegion"
SelectedItem="{Binding SelectedTab}">
<TabControl.ContentTemplate>
<DataTemplate>
<ContentControl cal:RegionManager.RegionName="TabContentRegion">
</ContentControl>
</DataTemplate>
</TabControl.ContentTemplate>
</TabControl>
Edit: la mia domanda reale è questo .. E 'possibile avere una vista duplicati all'interno di una regione? Quando lo provo attualmente ho un'eccezione sul fatto che è già stato registrato. Ciò di cui ho veramente bisogno è bypassarlo o creare una regione che lo consenta.
grazie per qualsiasi aiuto !!
evviva. ste.
Non sono sicuro di quello che stai chiedendo. Non hai appena scritto la tua risposta alla tua domanda. "Una regione è collegata a un elemento dell'interfaccia utente come un ** ContentControl **, ** ItemsControl **, ** TabControl ** o un controllo cliente e gestisce il contenuto dell'elemento dell'interfaccia utente". Quindi sì, dovrebbe funzionare. –
@Rikkos - si prega di vedere il mio commento aggiornato .. quello che sto fondamentalmente cercando è avere viste duplicate all'interno della mia regione! – Steoates
solo un'idea di risoluzione dei problemi, hai provato GetHashCode() per vedere se TransientLifetimeManager ti dà istanze diverse? –