У меня есть проект Silverlight 4, который отображает диаграмму и некоторые кнопки, позволяющие пользователю изменять диапазон дат диаграммы. Диапазон дат также может быть передан через параметр строки запроса - что-то вроде http://myserver/MySilverlightPage/#?DateRange=OneMonth - и когда пользователь нажимает кнопку, я также хотел бы обновить URL-адрес.
Я понимаю, что способ сделать это - позвонить по номеру this.NavigationService.Navigate(new Uri(...))
, но, насколько я могу судить, это можно сделать только из кода страницы Silverlight. А поскольку я использую MVVM, вся обработка команды происходит в классе ViewModel. Есть ли способ вызвать Navigate
или иным образом изменить URL-адрес из ViewModel?
Чтобы уточнить, xaml включает в себя следующее Button
:
<Button Content="1 Month View"
Command="{Binding OneMonthCommand}" />
А класс ViewModel содержит свойство OneMonthCommand
:
public ICommand OneMonthCommand { get; set; }
Когда кнопка нажата, вызывается метод Execute
моей реализации ICommand. Вопрос в том, как я могу изменить URL из этого метода?