2009-11-13 5 views
0

J'ai un diaporama de certaines images dans mon application Silverlight.Comment rediriger vers une autre page en cliquant sur une image dans silverlight 3.0?

Lorsque l'utilisateur clique sur une image que je veux rediriger vers une page différente.

Comment implémenter ceci.

Aidez-nous s'il vous plaît.

+0

Notez que ce n'est pas la redirection c'est la navigation, la redirection se produit lorsque vous essayez de naviguer, puis le serveur redirige la demande vers une autre URL. – AnthonyWJones

Répondre

2

De Silverlight, vous pouvez prendre/gérer l'événement MouseLeftButtonUp et faire

HtmlPage.Window.Navigate("http://www.example.com"); 
+0

Vérifiez cette URL http://msdn.microsoft.com/en-us/library/system.windows.browser.htmlpage_members%28VS.95%29.aspx Je ne trouve pas Navigate en tant que membre de la classe HtmlPage. Guidez-moi s'il-vous-plaît. – Himadri

+0

Mise à jour avec la syntaxe correcte ... désolé pour la confusion –

1

HTML.Navigate n'ouvrira une nouvelle page dans plusieurs navigateurs. Cela le rend un peu inutile.

Cependant, HyperlinkButtons le fait fonctionner magiquement. Je ne sais pas comment, alors je viens de créer un de ceux-là, donnez-lui l'URI que je veux ouvrir, et cliquez dessus (tout à partir du code). si je mets le TargetName du HyperlinkButton à "_Blank" alors il ouvrira dans une nouvelle page.

L'appel d'un événement de clic de bouton à partir du code n'est pas le plus facile non plus, mais j'ai trouvé du code quelque part qui l'a fait. Voici le code dont vous aurez besoin pour ouvrir une nouvelle page:

HyperlinkButton button = new HyperlinkButton();    
    button.NavigateUri = new URI("The URI To Go To"); 
    button.TargetName = "_Blank"; 

    HyperlinkButtonAutomationPeer hyperlinkPeer = new HyperlinkButtonAutomationPeer(button); 
    IInvokeProvider invokeProvider = hyperlinkPeer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; 
    invokeProvider.Invoke(); 
+0

Je souhaite qu'il y avait un moyen plus facile de le faire. Je suppose que ça va juste montrer, les gens de Microsoft ne testent pas sur les macs. – Jeremiah

Questions connexes