 <p>Based on my understanding, <strong>Navigation</strong> with <strong>ScopedRegions</strong> would not be a straight forward feature of <strong>Prism</strong>. There are some workarounds posted however, in order to accomplish it in a quite simple way.</p> <p>You can look at the following post and discussion thread for handling <strong>ScopeRegionManagers</strong> across <strong>Navigation</strong>:</p> <ul> <li><a href="http://blogs.southworks.net/aadami/2011/11/30/prism-region-navigation-and-scoped-regions/" rel="nofollow">Prism Region Navigation and Scoped Regions</a></li> <li><a href="https://compositewpf.codeplex.com/discussions/236849" rel="nofollow">Navigation and ScopedRegions</a></li> </ul> <p>Basically, Agustin Adami's proposal would be to obtain the scoped <strong>RegionManager</strong> from the <strong><em>Region.Add()</em></strong> method, through the <strong>NavigationResult</strong> passed in the navigation callback from the <strong><em>RequestNavigate()</em></strong> method.</p> <p>The Navigation call then would look as follows:</p> <pre><code>this.regionManager.RequestNavigate( "MainRegion", new Uri("HelloWorldView?createRegionManagerScope=true", UriKind.Relative), (result) =&gt; { var myRegionManager = result.ExtractRegionManager(); myRegionManager.RequestNavigate("NestedRegion", new Uri("View1", UriKind.Relative)); }); </code></pre> <hr> <p><strong>UPDATE:</strong></p> <p>One possible approach for setting the scoped <strong>RegionManager</strong> into the child <strong>ViewModel</strong> would be by using a <strong>Shared Service</strong> and get the scoped <strong>RegionManager</strong> from there.</p> <p>The <strong>Main ViewModel</strong> would store the <strong>RegionManager</strong> as follows:</p> <pre><code>... bool createRegionManagerScope = true; var scopedRegionManager = region.Add(view, null, createRegionManagerScope); var dictionary = ServiceLocator.Current.GetInstance&lt;ScopedRegionManagersSharedDictionary&gt;(); dictionary[Names.ScopedRegionManagerName] = scopedRegionManager; this.regionManager.RequestNavigate( Names.MainRegion, new Uri("HelloWorldView", UriKind.Relative)); </code></pre> <p>And then, the child <strong>ViewModel</strong> should implement <strong>INavigationAware</strong> in order to retreive and set the scoped <strong>RegionManager</strong> on the <strong><em>OnNavigatedTo()</em></strong> method like shown below:</p> <pre><code>void OnNavigatedTo(NavigationContext navigationContext) { var dictionary = ServiceLocator.Current.GetInstance&lt;ScopedRegionManagersSharedDictionary&gt;(); this.regionManager = dictionary[Names.ScopedRegionManagerName]; ... } </code></pre> <p>I hope this helps, Regards.</p>