重新加载同一页面传递另一个参数

时间:2010-08-05 19:48:39

标签: silverlight silverlight-3.0 navigation windows-phone-7

我正在开发 Windows Phone应用

我在App.xaml上定义了这个:

<nav:UriMapping Uri="/Destinations" MappedUri="/Views/Tourism/Common.xaml?Type=1"/>
<nav:UriMapping Uri="/Points" MappedUri="/Views/Tourism/Common.xaml?Type=2"/>

当用户使用Points时,我会执行以下操作:

NavigationService.Navigate(new Uri("/Destinations", UriKind.Relative));

我收到错误:现在没有片段支持

如何通过类型1重新加载相同的页面?

注意:我在页面之间使用自定义转换,这就是我导航到同一页面的原因。

感谢。

2 个答案:

答案 0 :(得分:2)

Type 1和Type 2有什么区别?如果您正在显示不同的布局,我建议您最好使用具有两种不同状态的Visual State Manager。您可以使用GoToState或Blend中的行为来触发这些。

如果只是数据正在发生变化,那么使用MVVM只需要向ViewModel发出更改信号,就会显示新状态。

答案 1 :(得分:0)

有些示例使用带有参数的整页uri:

NavigationService.Navigate(new Uri("/NextPage.xaml?Value=" + Value, UriKind.Relative));

然后检索它:

string value = "";
if (NavigationContext.QueryString.TryGetValue("Value", out value)) { ... }

不确定这与使用你正在做的URIMapping的东西有什么不同,但它应该是可能的......