1

我有 silverlight 导航页面(使用 NavigationCacheMode="Required")。当我通常导航到这些页面(通过鼠标单击)时,页面会按预期加载(由于缓存属性,它们只创建一次)。

但是,我需要更新浏览器地址栏中的 url。当我通过 javascript ("window.location.hash=#...") 更新此地址和页面时,会显示地址和页面,但会重新创建页面 - 这会导致其他问题。

特别是这导致的问题是页面在 xaml 中定义了 Prism.regions。所以它会抛出一个错误,抱怨一个已经注册的区域。

有没有人尝试过类似的事情?我认为没有浏览器导航到地址栏中的 URL 更新方法。请注意,我尝试更新的 url 包括查询字符串参数,silverlight 导航框架并不直接“知道”这些参数。

我没有尝试过的最后一种方法是使用导航框架注册所有唯一的 Url。

4

1 回答 1

0

我发现了一个黑客。当手动更新 url 时,只需取消 frame_navigating 事件。效果很好。

于 2010-09-24T20:25:20.230 回答