Контекст данных может быть установлен в конструкторе страницы .xaml:
PageViewModel viewModel = new PageViewModel();
this.DataContext = viewModel;
Кроме того, насколько мне известно, в представлении можно выполнять действия, связанные с интерфейсом, поэтому для навигации можно просто подписаться на какое-то событие в представлении, а затем:
PhoneApplicationFrame frame = (PhoneApplicationFrame)Application.Current.RootVisual;
frame.Navigate(new Uri("/Views/NewPage.xaml", UriKind.Relative));