Проблема заключается в том, что регионы ищут в визуальном дереве вложенное свойство RegionManager, а затем регистрируются в этом диспетчере. В главном окне это нормально, но в дочернем окне этого не происходит.
В Bootstrapper после создания оболочки выполняется следующий код.
RegionManager.SetRegionManager(shell, this.Container.Resolve<IRegionManager>());
RegionManager.UpdateRegions();
Чтобы заставить менеджера региона работать с вашим дочерним окном, сделайте то же самое сразу после того, как вы создали окно.
EDIT
Чтобы установить имя региона для элемента управления, вы также устанавливаете вложенное свойство RegionManager, например, так ...
RegionManager.SetRegionName(control, "MyRegion");
Однако вы можете сделать это и в xaml. Причина, по которой ваши регионы в отдельном окне не работают, заключается в том, что RegionManager должен быть установлен в базовом окне, как я показал выше.