To dynamically load pages from different assemblies you can try this:
//Load the TestAssembly.dl assembly.
Uri packageUri = new Uri("TestAssembly.dll", UriKind.Relative);
StreamResourceInfo stream = System.Windows.Application.GetResourceStream(packageUri);
AssemblyPart assemblyPart = new AssemblyPart();
Assembly targetAssembly = assemblyPart.Load(stream.Stream);
this.service = NavigationService.GetNavigationService();
Type assemblyTypes = targetAssembly.GetTypes();
foreach (var type in assemblyTypes)
Type typeInterfaces = type.GetInterfaces();
//HomePage is a page from TestAssembly.dll assembly.
if (type.Name == "HomePage")
RadPage page = (RadPage)targetAssembly.CreateInstance(type.FullName);
After that Back/Forward navigation should work as expected.
It is important to correctly load the assembly in order to have the access to its pages.
I hope this answers your question.
the Telerik team
Check out Telerik Trainer
, the state of the art learning tool for Telerik products.