J'ai des problèmes avec les codes INavigationAware. J'ai 3 pages. Par exemple, je l'ai nommé pageA, pageB et pageC. PageA est une vue de la liste et je vais passer le paramètre à l'aide pageB OnItemSelectedComment passer un paramètre à la page précédente en utilisant INavigationAware Bouton Précédent
PageA Voir modèle
public void OnItemSelected(Complaint item)
{
if (item != null)
{
var param = new NavigationParameters();
param.Add("id", item.Id);
mNavigationService.NavigateAsync("pageB", param);
}
}
En pageB, je vais obtenir le paramètre à l'aide OnNavigatedTo.
PageB Voir modèle
public async void OnNavigatedTo(NavigationParameters parameters)
{
var id = parameters["id"];
Title = string.Format("{0}: {1}", Strings.ComplaintDetail_Title, id);
await getComplaintDetail(Convert.ToInt32(id));
}
De pageB, je vais envoyer le paramètre à pageC en utilisant la même manière. Mais en ce moment, j'ai du mal à passer le paramètre à la pageB. Comme j'utilise le bouton Inavigation Back en haut à gauche, je ne sais pas comment passer le paramètre à la pageB. Le problème est que je dois passer le paramètre (clé primaire) à toutes les pages à des fins de sélection et de mise à jour. Aidez-moi, s'il vous plaît. Je ne suis pas sûr comment passer le paramètre en utilisant OnNavigatedFrom.
PageC Voir modèle
public void OnNavigatedFrom(NavigationParameters parameters)
{
}
Merci à l'avance.
Avez-vous envisagé d'utiliser un service? Si l'élément actuel doit de toute façon être connu de toutes les pages, le rendre disponible "globalement" pourrait être une alternative au fait de le faire circuler tout le temps. – Haukinger
Comment le rendre global? Désolé, je suis totalement novice. – nuyuljana
Grâce à un service qui est disponible pour tous vos modèles de vue – Haukinger