Вы можете сделать это, установив фиктивную страницу в качестве главной страницы вашего проекта.Вы можете изменить главную страницу, отредактировав файл WMAppManifest.xml вашего проекта:
<DefaultTask Name="_default" NavigationPage="DummyPage.xaml" />
Теперь определите все переходы, направленные на фиктивную страницу, и перенаправьте на любую нужную страницу.
Для этого в файле App.xaml.cs в конце конструктора подпишитесь на событие «Навигация»:
this.RootFrame.Navigating += this.RootFrame_Navigating;
В обработчике событий определите, направлена ли навигация нафиктивная страница, отмените навигацию и перенаправьте на нужную страницу:
void RootFrame_Navigating(object sender, NavigatingCancelEventArgs e)
{
if (e.Uri.OriginalString == "/DummyPage.xaml")
{
e.Cancel = true;
var navigationService = (NavigationService)sender;
// Insert here your logic to load the destination page from the isolated storage
string destinationPage = "/Page2.xaml";
this.RootFrame.Dispatcher.BeginInvoke(() => navigationService.Navigate(new Uri(destinationPage, UriKind.Relative)));
}
}
Редактировать
На самом деле, это еще проще.в конце конструктора приложения просто установите UriMapper с желаемым Uri для замены:
var mapper = new UriMapper();
mapper.UriMappings.Add(new UriMapping
{
Uri = new Uri("/DummyPage.xaml", UriKind.Relative),
MappedUri = new Uri("/Page2.xaml", UriKind.Relative)
});
this.RootFrame.UriMapper = mapper;