У меня была такая же проблема (Unity / Prism 4).Чтобы решить эту проблему, я удаляю активный вид из области дочернего окна и удаляю область в regionManager перед закрытием дочернего окна (кнопки OkButton и Cancel).Я не уверен, что это хорошее решение, но оно работает.(мой регион добавлен в диспетчер регионов в конструкторе дочернего окна)
Конструктор дочернего окна
this.regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
RegionManager.SetRegionManager(this.ActionContent, this.regionManager);
RegionManager.SetRegionName(this.ActionContent, REGION_NAME);
this.regionManager.Regions[REGION_NAME].Add(this.sharedViewProperty.UIElement,
this.sharedViewProperty.ViewName);
this.regionManager.Regions[REGION_NAME].Activate(this.sharedViewProperty.UIElement);
OKButton_Click
this.regionManager.Regions[REGION_NAME].Deactivate(this.sharedViewProperty.UIElement);
this.regionManager.Regions.Remove(REGION_NAME);
Теперь у меня странное поведение, когдая установил RegionManager в моем конструкторе.У меня есть исключение "Microsoft.Practices.Prism.Regions.Behaviors.RegionCreationException: исключение произошло при создании региона с именем 'ChildRegion'. Исключение было: System.ArgumentException: регион с заданным именем уже зарегистрирован:"
Когда я вставляю эту следующую строку прежде, чтобы установить менеджера региона, это работает:
this.regionManager = ServiceLocator.Current.GetInstance<IRegionManager>();
int nbCountRegion = this.regionManager.Regions.Count();
RegionManager.SetRegionManager(this.ActionContent, this.regionManager);
RegionManager.SetRegionName(this.ActionContent, REGION_NAME);
Не говорите мне почему, я не могу это объяснить ...