I'm glad that you've solved your problem regarding navigation, and I thank you for sharing your insight with the rest of the community.
As regarding your initial concern, there should be no difference between using an
ItemsControl and a ContentControl in your case. For example, you could check the
HelloWorld QuickStart, which has a region that is hosted on an ItemsControl, in which a single item is added.
We've also tried adding a view to a region hosted in an ItemsControl using navigation, as you've done, and we faced no difficulties. Note that if you're using Unity as the Dependency Injection container, you should register a type mapping similar to the
following in order for region navigation to work:
This is necessary since the default implementation of the RegionNavigationContentLoader
internally tries to resolve an instance of type object with the name specified in the
RequestNavigate method (which, in case you're using MEF, is the contract name specified in the
Here's the code of the RegionNavigationContentLoader.CreateNewRegionItem method to illustrate the aforementioned:
protected virtual object CreateNewRegionItem(string candidateTargetContract)
newRegionItem = this.serviceLocator.GetInstance<object>(candidateTargetContract);
catch (ActivationException e)
throw new InvalidOperationException(
string.Format(CultureInfo.CurrentCulture, Resources.CannotCreateNavigationTarget, candidateTargetContract),
If you are blocked by this behavior and can't find the reason why it happens, it could be helpful if you could provide us with a repro sample, so that we can help you diagnose what could be causing your issue.
I hope you find this helpful.
Guido Leandro Maliandi