2012-01-20 7 views
0

J'ai un navigateur Web et j'ai créé quatre boutons: Haut, Bas, Gauche, Droite. Le navigateur Web contient un fichier html réel "map.html". La vue peut être augmentée en cliquant sur + ou diminuer en cliquant sur -. Si l'utilisateur clique sur + la carte s'étendra et l'utilisateur pourrait vouloir se déplacer vers la gauche, etc.Déplacez l'affichage du navigateur web sur le bouton cliquez sur

Maintenant à mes boutons lorsque l'utilisateur clique sur le bouton gauche le navigateur web doit se déplacer de 10 pixels vers la gauche, mais je ne vraiment savoir comment ça.

private void leftBtn_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) 
     { 
      Point position = e.GetPosition(webBrowser1); 

      double pX = position.X; 
      double pY = position.Y; 

     } 

Voici comment j'ai commencé comment puis-je obtenir le navigateur Web pour déplacer 10 pixels à chaque clic?

+0

La carte dans WebBrowserControl ne prend-elle pas en charge les mouvements de déplacement et de pincement/étirement pour déplacer et zoomer? Si c'est le cas, je suppose que la plupart des utilisateurs l'utiliseront plutôt que d'appuyer sur les commandes que vous ajoutez en haut. –

+0

Eh bien, la carte est en html et javascript et je l'ai fait avec le cadre de la brochure et ce cadre ne supporte pas Windows Phone 7, donc pour l'instant c'est la seule option. – user1151471

Répondre

0

Placez votre commande WebBrowser dans un Canvas, ce panneau vous permet de spécifier un emplacement de commandes via coordonnées x/y:

<Canvas> 
    <WebBrowser x:Name="browser"/> 
</Canvas> 

Vous pouvez maintenant déplacer votre navigateur en définissant son haut/emplacement gauche. Par exemple:

Canvas.SetTop(browser, 10.0); 
Canvas.SetLeft(browser, 10.0); 

Cela va déplacer votre contrôle.

+0

Je ne peux pas vraiment faire fonctionner ça. Le code avec le "Canvas" doit être créé le fichier .xaml et le Canvas.Set .. dans le fichier .cs? Mais cela ne fonctionne pas .. – user1151471

+0

Je ne suis pas surpris que cela ne fonctionne pas - le WebBrowserControl est spécial en ce qu'il fait sa propre virtualisation et le défilement interne, mais semble être une taille fixe à Silverlight. Je suppose que ce XAML conduirait le moteur de mise en page à avoir du mal à déterminer quelle taille afficher pour le WBC (je n'ai pas encore essayé). –

+0

@PaulAnnetts True, le contrôle WebBrowser est 'spécial', il contient un TileHost qui est un composant natif pour le rendu des pages web. Cependant, le navigateur Web lui-même respecte toujours les règles de mise en page Silverlight et, en tant que tel, vous définissez son emplacement via un canevas. – ColinE

Questions connexes