Windows phone 7 如何更改WP7应用程序的启动页面

Windows phone 7 如何更改WP7应用程序的启动页面,windows-phone-7,mvvm-light,Windows Phone 7,Mvvm Light,我想有不同的起始页,这取决于是否有一些设置存储在IsolatedStorage中 但是我不知道哪里是处理这个问题的最佳实践。也就是说,如果我在独立存储中发现了一些东西,我会通知用户获取主页,否则我会希望用户获取设置页面 如果有一些神奇的东西可以使用,我会使用MVVM light Br您可以通过将虚拟页面设置为项目的主页面来完成此操作。您可以通过编辑项目的WMAppManifest.xml文件来更改主页面: 现在,检测所有指向虚拟页面的导航,并重定向到您想要的页面 要执行此操作,请在App.x

我想有不同的起始页,这取决于是否有一些设置存储在IsolatedStorage中

但是我不知道哪里是处理这个问题的最佳实践。也就是说,如果我在独立存储中发现了一些东西,我会通知用户获取主页,否则我会希望用户获取设置页面

如果有一些神奇的东西可以使用,我会使用MVVM light


Br

您可以通过将虚拟页面设置为项目的主页面来完成此操作。您可以通过编辑项目的WMAppManifest.xml文件来更改主页面:


现在,检测所有指向虚拟页面的导航,并重定向到您想要的页面

要执行此操作,请在App.xaml.cs文件的构造函数末尾订阅“导航”事件:

this.RootFrame.Navigating+=this.RootFrame\u Navigating;
在事件处理程序中,检测导航是否指向虚拟页面,取消导航并重定向到所需页面:

void RootFrame\u导航(对象发送方,导航取消事件参数e)
{
if(e.Uri.OriginalString==“/DummyPage.xaml”)
{
e、 取消=真;
var navigationService=(navigationService)发送方;
//在此插入从隔离存储加载目标页的逻辑
字符串destinationPage=“/Page2.xaml”;
this.RootFrame.Dispatcher.BeginInvoke(()=>navigationService.Navigate(新Uri(destinationPage,UriKind.Relative));
}
}
编辑

事实上,这更容易。在应用程序构造函数的末尾,只需使用所需的替换Uri设置UriMapper:

var-mapper=new-UriMapper();
添加(新的UriMapping)
{ 
Uri=新Uri(“/DummyPage.xaml”,UriKind.Relative),
MappedUri=newURI(“/Page2.xaml”,UriKind.Relative)
});
this.RootFrame.UriMapper=mapper;

Hi,通过应用程序文件中的独立存储执行操作是否是一种良好做法?只要您不执行长时间的操作,就可以了。访问应用程序文件中的独立存储没有问题,但是您应该知道,此代码在显示应用程序的第一页之前执行。因此,您只有5秒的时间来计算,否则您的应用程序将无法通过认证。Greate,tnx获取有关5秒规则的信息:),而您的第二个解决方案将运行良好