Maison >développement back-end >C++ >Comment transmettre efficacement des valeurs entre les pages XAML ?

Comment transmettre efficacement des valeurs entre les pages XAML ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-03 14:14:40926parcourir

How to Efficiently Pass Values Between XAML Pages?

Transmission de valeurs entre des pages XAML

La transmission de paramètres entre des pages XAML est un aspect fondamental d'une conception d'application efficace. Que vous parcouriez les pages d'une application Windows Phone, Silverlight, WPF ou Windows 8, comprendre les méthodes appropriées pour transmettre des données améliorera les fonctionnalités et l'expérience utilisateur de votre application.

1. Utilisation de la chaîne de requête

Pour un transfert de données simple, la chaîne de requête peut être utilisée. Les données transmises via cette méthode doivent être converties en chaînes et codées en URL.

Page de navigation :

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));

Page de destination :

string parameter = string.Empty;
if (NavigationContext.QueryString.TryGetValue("parameter", out parameter)) {
    this.label.Text = parameter;
}

2. L'utilisation de NavigationEventArgs

NavigationEventArgs permet d'accéder aux paramètres transmis via les appels de méthode pendant la navigation.

Page de navigation :

page.NavigationService.Navigate(new Uri("/Views/Page.xaml?parameter=test", UriKind.Relative));

// and ...

protected override void OnNavigatedFrom(NavigationEventArgs e)
{
    Page destinationPage = e.Content as Page;
    if (destinationPage != null) {

        destinationPage.PublicProperty = "String or object..";
    }
}

Page de destination :

// Use the value of "PublicProperty"..

3. Utilisation de la navigation manuelle

La navigation manuelle permet aux paramètres personnalisés de passer par le constructeur.

Page de navigation :

page.NavigationService.Navigate(new Page("passing a string to the constructor"));

Page de destination :

public Page(string value) {
    // Use the value in the constructor...
}

Différence entre Uri et Manuel Navigation

La distinction clé réside dans le cycle de vie de l'application. Les pages créées manuellement sont conservées en mémoire, contrairement aux pages parcourues via Uri.

Passer des objets complexes

Les méthodes 1 et 2 peuvent être utilisées pour transmettre des objets complexes, ou bien, des propriétés personnalisées peuvent être ajouté à la classe Application ou les données peuvent être stockées dans Application.Current.Properties.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn