Я занимаюсь разработкой приложения Silverlight 3 для бета-навигации, поэтому я немного изменил шаблон MVVM :) (модель все-в-одном), используя призму и прочее.
Вопрос: Как перейти к другой "NavigationPage" в модели представления
Теперь, если коротко, модель представления объявляется ресурсом страницы.
<navigation:Page.Resources>
<mvvm:LoginModel x:Key="DataSource" d:IsDataSource="True"></mvvm:LoginModel>
</navigation:Page.Resources>
А затем используется команда для соединения всего с моделью представления
<Button x:Name="LoginButton" Width="100" Margin="8" Content="Login"
prism:Click.Command="{Binding LoginCommand}"/>
Теперь, если я попытаюсь перемещаться в любом месте модели представления, вот так
this.NavigationService.Navigate(new Uri("/Views/About.xaml", UriKind.Relative));
Служба навигации пуста, я осмотрелся и нашел эту статью , в которой описывается использование спирали 0.3 для навигации, она была построена еще в дни sl2, когда навигационные элементы управления никогда не существовали, теперь спираль модель работает хорошо, и, внедрив INavigationAware в viewmodel, вы можете получить доступ к NavigationContext, а затем делать все, что вам нужно, я пробовал спираль, и она работает.
SL3 поставляется со встроенной поддержкой навигации, так сказать, которая делает именно то, что делает спираль. Поэтому я не хочу использовать сторонние фреймворки, вместо этого я предпочитаю использовать встроенные функции sl3.
Есть ли в SL3 что-либо, имитирующее интерфейс INavigationAware спирали?