【发布时间】:2011-04-13 08:38:39
【问题描述】:
我有一个 Silverlight 4 项目,它显示一个图表和一些按钮,允许用户更改图表的日期范围。日期范围也可以通过查询字符串参数传递——比如http://myserver/MySilverlightPage/#?DateRange=OneMonth——当用户点击一个按钮时,我也想更新 URL。
我知道这样做的方法是调用this.NavigationService.Navigate(new Uri(...)),但据我所知,这只能从后面的 Silverlight 页面代码中完成。由于我使用的是 MVVM,因此命令的所有处理都在 ViewModel 类中进行。有没有办法调用 Navigate 或以其他方式从 ViewModel 中更改 Url?
为了澄清,xaml 包括以下Button:
<Button Content="1 Month View"
Command="{Binding OneMonthCommand}" />
ViewModel 类包含一个OneMonthCommand 属性:
public ICommand OneMonthCommand { get; set; }
当点击按钮时,我的 ICommand 实现的 Execute 方法被调用。问题是 - 如何从该方法中更改 URL?
【问题讨论】:
标签: silverlight silverlight-4.0 mvvm navigation