Actualmente estoy trabajando con el control Tab y he creado una región para que se convierta en mi host.Prisma WPF cómo tener vistas duplicadas dentro de una región
lo que trato de hacer es agregar la misma vista a una región dos veces ... ¿puede preguntar por qué? y es porque la aplicación va a ser una simple aplicación de chat: habrá muchas instancias de la vista pero cada una tendrá información diferente.
mi código hasta ahora ;;
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);
Y mis opiniones están registradas con la unidad como tal ;;
this.Container.RegisterType<IConversationDetailsPresentationModel, ConversationDetailsPresentationModel>(
new TransientLifetimeManager());
this.Container.RegisterType<IConversationDetailsView, ConversationDetailsView>(
new TransientLifetimeManager());
también, mi 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>
Editar: mi pregunta real es este .. ¿Es posible tener puntos de vista duplicados dentro de una región? Cuando lo intento, recibo una excepción porque ya está registrado. Lo que realmente necesito es omitir esto o crear una región que lo permita.
gracias por cualquier ayuda !!
aplausos. ste.
No estoy seguro de lo que están pidiendo. ¿No acabas de escribir tu propia respuesta a tu pregunta? "Una región está conectada a un elemento de la interfaz de usuario como ** ContentControl **, ** ItemsControl **, ** TabControl **, o un control de cliente, y administra el contenido del elemento de la interfaz de usuario". Entonces sí debería funcionar. –
@Rikkos - por favor vea mi comentario actualizado ... ¡lo que básicamente busco es tener vistas duplicadas dentro de mi región! – Steoates
solo una idea para la solución de problemas, ¿ha probado GetHashCode() para ver si TransientLifetimeManager le está dando instancias diferentes? –