Я предлагаю вместо того, чтобы иметь целую отдельную страницу (которая, как вы заметили, прерывает навигацию), просто поместите сетку или пользовательский контроль с лицензионным соглашением на первой странице, который не отображается. Когда пользователь впервые открывает страницу, вы показываете сетку / 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;
}