我有 silverlight 导航页面(使用 NavigationCacheMode="Required")。当我通常导航到这些页面(通过鼠标单击)时,页面会按预期加载(由于缓存属性,它们只创建一次)。
但是,我需要更新浏览器地址栏中的 url。当我通过 javascript ("window.location.hash=#...") 更新此地址和页面时,会显示地址和页面,但会重新创建页面 - 这会导致其他问题。
特别是这导致的问题是页面在 xaml 中定义了 Prism.regions。所以它会抛出一个错误,抱怨一个已经注册的区域。
有没有人尝试过类似的事情?我认为没有浏览器导航到地址栏中的 URL 更新方法。请注意,我尝试更新的 url 包括查询字符串参数,silverlight 导航框架并不直接“知道”这些参数。
我没有尝试过的最后一种方法是使用导航框架注册所有唯一的 Url。