2011-01-04 3 views
0

événement Button1_Click de MainPage.xaml contientA propos de Navigation Synchronisé

NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); 
postPhotoToFacebook(); 

Page1.xaml contient webbrowser (tous aunthentication, Acitivities autorisation, page de connexion, etc.).

Lorsque l'utilisateur clique sur Button1, le contrôle est dirigé vers Page1.xaml.
Avant de terminer acitivities entiers sur Page1.xaml, il retourne à MainPage.xaml & exécute postPhotoToFacebook().

aide Plz.

+0

duplicata possible de [Transfert Contrôle total (Navigation)] (http://stackoverflow.com/questions/4593026/transfer-full-control-navigation) –

+0

Ceci semble être la 3ème incarnation de la même question dans le passé 12 heures. Veuillez en choisir une et répondre aux réponses que les gens vous donnent si vous avez besoin de plus de précisions. Si vous souhaitez fournir plus d'informations, veuillez le faire en éditant la question originale avec une mise à jour/édition pour les informations supplémentaires –

Répondre

1

Sans savoir ce que postPhotoToFacebook()-t-il est difficile de dire avec certitude, mais je devine qu'il contient certaines fonctionnalités relatives à tout ce qui est en Page1.xaml

En règle générale, vous ne devriez pas effectuer des opérations dans une méthode après vous Navigate.

Si vous devez effectuer une opération en arrière-plan (par exemple en communiquant avec Facebook), vous devez le faire dans un fil distinct. Soit en créant un BackgroundWorker spécifique ou un thread qui s'exécute en arrière-plan. Vous pouvez également démarrer le processus de manière asynchrone avec un rappel qui s'exécute sur le thread de l'interface utilisateur.

Si votre publication de la photo sur Facebook est liée à ou dépendante de Page1.xaml ou si vous l'avez chargée, vous devriez le faire dans une méthode déclenchée par un événement de cette page. (NavigatedTo ou Loaded sont probablement les plus appropriés).

Si vous voulez juste commencer le processus de téléchargement, puis naviguer vers Page1, vous pouvez le faire avant d'appeler Navigate().