unity - wpf prism tutorial
PRISM-Reutilización de vistas con regiones secundarias-¿Se puede hacer? (1)
Soy un poco novato en PRISM, pero he leído la documentación de ayuda y parece que no puedo encontrar la manera de lograr lo siguiente (esta es una aplicación de WPF)
Tengo un Shell
(ventana) que tiene 2 regiones llamadas ''region1'' y ''region2''. en el método Initialize
de mi único módulo, estoy registrando la misma vista en cada región:
regionViewRegistry.RegisterViewWithRegion("Region1", typeof(View1));
regionViewRegistry.RegisterViewWithRegion("Region2", typeof(View1));
y cuando lo ejecuto todo está bien en este punto, ya que crea 2 instancias individuales de View1
y coloca uno en cada región.
Ahora en View1
he declarado su propia región para inyectar vistas de niños pequeños
<ItemsControl Name="MainRegion" cal:RegionManager.RegionName="MainRegion" />
Ahora, cuando ejecuto mi sencilla aplicación PRISM, recibo el siguiente mensaje de excepción:
"La región con el nombre dado ya está registrada: MainRegion"
lo que sugiere que no puedo tener varias instancias de la misma vista si esa vista declara sus propias regiones.
Es esto correcto ?
parece una gran limitación
Quiero que mi aplicación sea altamente modular, y que la vista se componga de otras vistas (a través de regiones), etc.
¿O he leído mal la documentación?
Puede crear una separación de regiones de nivel de caparazón con regiones creadas por vistas de módulo utilizando RegionScope. Cualquier región que cree sin un alcance es "global" y no tiene soporte para tener dos regiones con el mismo nombre en el mismo ámbito.
Puede leer más sobre Region Scopes en este artículo de MSDN: http://msdn.microsoft.com/en-us/magazine/cc785479.aspx#id0090126