2012-01-20 5 views
0

私はウェブブラウザを持っていて、私は4つのボタンを作成しました: 上、下、左、右。ウェブブラウザには、現実的なhtmlファイル「map.html」が含まれています。 - をクリックするか、 - をクリックして、ビューを増やすことができます。ユーザーが+をクリックするとマップが延長され、ユーザーは左に移動することができます。ボタンをクリックするとウェブブラウザのビューが移動する

ユーザーが左ボタンをクリックすると、Webブラウザーは10ピクセル左に移動しますが、私はしません。本当にそれを知っている。

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

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

     } 

これは、どのようにして各クリックで10ピクセル移動するウェブブラウザを得ることができますか?

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

あなたは今、その左/トップの位置を設定することで、ブラウザを移動することができます。

+0

WebBrowserControlのマップは、ドラッグアンドピンチ/ストレッチジェスチャの移動とズームをサポートしていませんか?もしそうなら、私はあなたが上に追加するコントロールをタップするよりも、ほとんどのユーザーがそれを使用すると思う。 –

+0

マップはhtmlとjavascriptであり、私はリーフレットフレームワークでそれを行いました。そのフレームワークはWindows Phone 7をサポートしていないので、これは唯一のオプションです。 – user1151471

答えて

0

Position Canvas内のあなたのWebBrowser制御は、このパネルは、X/Y座標を経由して、あなたがコントロールの場所を指定することができます。例:

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

これはコントロールを移動します。

+0

私は本当にそれを働かせることはできません。 「キャンバス」のコードは、.xamlファイルと.csファイルのCanvas.Set ..で作成されます。しかし、それは動作しません.. – user1151471

+0

私はこれが動作しないのは驚きではありません - WebBrowserControlは、独自の仮想化と内部的にスクロールを行うという点で特別ですが、Silverlightには固定サイズのようです。私はこのXAMLがレイアウトエンジンにつながって、WBCを表示するためにどのサイズのサイズを計算するのが問題になるかを推測しています(私は試していません)。 –

+0

@PaulAnnetts True、WebBrowserコントロールは「特別」です.TileHostは、Webページをレンダリングするためのネイティブコンポーネントです。ただし、WebBrowser自体はSilverlightのレイアウトルールに準拠しているため、Canvasを使用してその場所を設定します。 – ColinE