/ Silverlight Navigation Page + window.location.hash的问题

时间:2010-09-24 00:12:53

标签: silverlight navigation window.location

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

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

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

有没有人尝试过类似的东西? 我不认为有一种方法可以更新地址栏中的URL而无需浏览器导航到它。请注意,我尝试更新的网址包含查询字符串参数,而这些参数不是银光导航框架直接“知道”的。

我没有尝试的最后一招是使用导航框架注册所有唯一的Urls。

1 个答案:

答案 0 :(得分:0)

我找到了一个黑客。只需在手动更新网址时取消frame_navigating事件。效果很好。