Я бы посоветовал вам потратить некоторое время на подробное изучение возможностей использования навигационной инфраструктуры Silverlight.
Я думаю, что вы сможете использовать элемент Frame
с собственной реализацией * 1004.* присваивается его ContentLoader
свойству и, возможно, вашему производному UriMapperBase
, присваивается его UriMapper
свойству.
Затем вы будете использовать URL-адрес, подобный следующему: -
http://yoursite.com/yourHostController#/yourXamlController/someReference
У вас будет два представления: yourHost просто сгенерирует HTML, необходимый для размещения приложения Silverlight, которое вы создадите.Представление «yourXaml» будет просто обслуживать необработанный Xaml.
Ваш картограф Uri возьмет относительный URL-адрес, указанный после # (так работает навигация внутри приложения silverlight), и создаст Uri, который может указывать наКонтроллер yourXaml.
Ваша реализация INavigationContentLoader
затем извлечет Xaml из Uri и загрузит его.
Предполагая, что Xaml содержит гиперссылки на использование URL-адресов, таких как "/ yourXamlController / otherReference".Вы должны иметь возможность перемещаться по сохраненному Xaml без перезагрузки приложения Silverlight.Все будет связано со ссылками и загрузкой новых фрагментов Xaml.