在我的应用程序中,我这样做是为了在app.xaml.cs中映射我的uri,现在问题是我的应用程序是否在MainPage.xaml而不是Eula.xaml上停用我的应用程序出口。此外,应用程序将在其启动的同一页面上退出。
在App.xaml中
<UriMapper:UriMapper x:Name="mapper">
<UriMapper:UriMapping Uri="/MainPageOrEULA.xaml"/>
</UriMapper:UriMapper>
和App.xaml.cs
// Get the UriMapper from the app.xaml resources, and assign it to the root frame
UriMapper mapper = Resources["mapper"] as UriMapper;
RootFrame.UriMapper = mapper;
// Update the mapper as appropriate
IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication();
if (isoStorage.FileExists("DataBase/MyPhoneNumber.txt"))
{
mapper.UriMappings[0].MappedUri = new Uri("/MainPage.xaml", UriKind.Relative);
}
else
{
mapper.UriMappings[0].MappedUri = new Uri("/EULA.xaml", UriKind.Relative);
}
请指导我。
此致
帕纳奇。
答案 0 :(得分:0)
我建议不要只有一个完整的单独页面(它会像你注意到的那样中断导航),而只是在首页上放置一个包含EULA的网格或用户控件,这是不可见的。当用户首次打开页面时,您将显示grid / usercontrol,但在后续运行中,您不会。
<Grid x:Name="LayoutRoot">
<Grid Name="EULA" Visibility="Collapsed" >
<TextBlock Text = "You agree ...." />
<Button Grid.Row="1" Content="I Agree" Click="AgreeClick" />
</Grid>
<Grid Name="MainGrid" >
....
然后在您的代码中,您可以将测试添加到已加载的事件
private void MainPageLoaded()
{
IsolatedStorageFile isoStorage = IsolatedStorageFile.GetUserStoreForApplication();
if (!isoStorage.FileExists("DataBase/MyPhoneNumber.txt"))
{
EULA.Visibility = Visibility.Visible;
MainGrid.Visibility = Visibility.Collapsed;
}
}
然后,当单击“我同意”按钮时,您可以存储文件并显示主网格
private void AgreeClick(....)
{
// Create isolated storage file
....
// Hide eula control
EULA.Visibility = Visibility.Collapsed;
MainGrid.Visibility = Visibility.Visible;
}