2010-02-09 2 views
0

La page principale se compose d'une zone de liste, d'un cadre et de quelques liens hypertexte. En cliquant sur un lien hypertexte, la page appropriée est chargée dans le cadre.Silverlight 3 Application métier: Comment passer une chaîne de requête de la page principale à la page À propos de?

Comment puis-je transmettre la valeur d'élément sélectionnée de la liste sur la page principale à la page en cours de chargement (ex: À propos de la page) via la chaîne de requête dans silverlight 3?

Tous les pointeurs seront très appréciés.

+0

Pourriez-vous élaborer sur votre architecture? Est-ce que la page principale et à propos de la page deux pages dans la même application Silverlight? Deux applications distinctes sur des pages différentes? Ce n'est pas clair à cause de votre question. –

+0

Merci Graeme Bradbury d'avoir pris votre temps. – funwithcoding

Répondre

1

Selon la page MSDN, vous pouvez spécifier une chaîne de requête dans le format

<uriMapper:UriMapping Uri="/Products/{type}" 
    MappedUri="/Views/ProductDetail.xaml?producttype={type}"> 
</uriMapper:UriMapping> 

Je ne sais pas comment lier le type à une valeur par XAML, mais sur la navigation vers cette page, vous pouvez ajouter un événement OnClick au lieu d'un navigateuri. En cas Surclic vous indiquerez quelque chose comme ce qui suit:

private void Link2_Click(object sender, RoutedEventArgs e) 
{ 
    Uri x = new Uri(String.Format(/Products/{0},yourcombo.SelectedItem), UriKind.Relative); 

    //ContentFrame is the Navigation Frame 
    ContentFrame.Navigate(x); 
} 

Cela accédez à la page ProductDetail.xaml. De là, vous pouvez obtenir la valeur de type de produit en utilisant string type = this.NavigationContext.QueryString["producttype"];

Tim Heuer a également un excellent web cast sur les solutions de navigation.

+0

Merci Johannes – funwithcoding