Windows Phone 7でのXAMLページの遷移、通常であればPhoneApplicationPageのコンテキストで以下のように書くだろう。
PhoneApplicationPage.NavigationServiceプロパティを使う
NavigationService.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
これが普通でありPhoneApplicationPageのインスタンスが必要だと考えていたのだが、調べていると以下のように書くこともできることが解った。
Applicationオブジェクトの.RootVisualプロパティを使う
var frame = (PhoneApplicationFrame)Application.Current.RootVisual;
frame.Navigate(new Uri("/Page2.xaml", UriKind.Relative));
これならばViewに依存しないページナビゲーションが可能になる。