Windows Phone 7 Кнопка «Назад» и приложение Tombstone? - PullRequest
2 голосов
/ 02 марта 2011


В моем приложении я сделал это, чтобы отобразить свой URI в app.xaml.cs, теперь дело в том, что мое приложение деактивирует выходы моего приложения на 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);
}

Пожалуйста, наведите меня на то же самое.

С уважением,

Panache.

1 Ответ

0 голосов
/ 08 марта 2011

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

}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...