2017-10-19 29 views
0

c'est probablement trivial mais je n'ai pas pu trouver la réponse. Fondamentalement, j'ai un page1 (qui est en fait un UserControl) qui a une zone de texte et un bouton à côté, après avoir cliqué sur le bouton J'ai besoin d'ouvrir une nouvelle page autonome avec une grille, sélectionnez une valeur et renvoyez-la comme une simple chaîne ou int retour à la page1. Je sais que OnNavigatedTo pourrait être utilisé d'une certaine manière dans ce scénario, mais que dois-je faire si j'avais plus de textbox + bouton (identique à précédent - sélectionner d'une autre page) sur la page1 et comment puis-je naviguer vers le UserControl spécifiqueUWP passant des données entre les pages

Quelle est la meilleure solution à cela?

+3

vérifiez ce https://stackoverflow.com/questions/35304615/pass-some-parameters-between-pages-in-uwp –

Répondre

0

mais que dois-je faire si j'avais plus textbox + bouton (comme précédent - sélectionner une autre page) sur la page1 et comment puis-je accéder à la UserControl spécifique

Si vous voulez que la UserControl (votre page 1) et le Grid (votre page 2) doit séparer en deux pages, par exemple, vous voulez qu'il montre des effets de navigation, vous pouvez envisager de sérialiser toutes les données dans la chaîne JSON et de le passer avec OnNavigatedTo. Par exemple, vous pouvez faire toutes les données de texte comme JsonObject, et donner une identification pour le UserControl comme l'un des JsonObjects, et en passant à la deuxième page, et lorsque les données reviennent, également renvoyer l'identification du UserControl, vous devrez savoir lequel UserControl recevra les données.

Pour sérialiser les données Json, vous pouvez vous reporter à this sample. Pour transmettre des données entre les pages, veuillez vous reporter au code this article.

Quelle est la meilleure solution à cela?

En fait, pour votre scénario, je pense que ContentDialog est plus de filtre pour vous. Scénario peut être ceci, vous avez un UserControl dans la page actuelle, et cliquez sur le bouton à l'intérieur du UserControl, un ContentDialog pop-up, et un Grid situé à l'intérieur, après avoir fait quelques opérations, cliquez sur un bouton à l'intérieur du ContentDialog pour fermer la boîte de dialogue et obtenir les données de retour. Maintenant, il est facile pour le UserControl de traiter les données de retour. Vérifiez le sample pour plus de détails.