2012-01-20 108 views
0

我有一個網絡瀏覽器,我創建了四個按鈕: 上,下,左,右。網頁瀏覽器包含一個真實的html文件「map.html」。通過點擊+或點擊 - 減少視圖。如果用戶點擊+地圖將延伸,用戶可能想要移動到左邊等移動網頁瀏覽器查看按鈕點擊

現在我的按鈕,當用戶點擊左邊的按鈕,網絡瀏覽器應移動10像素到左邊,但我沒有真的知道如何。

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

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

     } 

這就是我如何開始如何讓網頁瀏覽器在每次點擊時移動10個像素?

+0

WebBrowserControl中的地圖不支持拖動和捏/伸展手勢來移動和縮放嗎?如果是這樣,我懷疑大多數用戶會使用它,而不是點擊您添加到頂部的任何控件。 –

+0

那麼地圖是在HTML和JavaScript中,我已經完成了與單張框架,該框架不支持Windows Phone 7,所以現在這是唯一的選擇。 – user1151471

回答

0

一個Canvas內的WebBrowser控制位置,此面板讓您能夠通過X/Y座標指定控件的位置:

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

現在,您可以通過設置其頂部/左位置移動瀏覽器。例如:

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

這將移動您的控件。

+0

我真的不能那樣工作。帶有「畫布」的代碼應該在.csam文件中的.xaml文件和Canvas.Set中創建。但是這並不起作用。 – user1151471

+0

我並不感到驚訝,這不起作用 - WebBrowserControl的特殊之處在於它在內部執行自己的虛擬化和滾動操作,但似乎是Silverlight的固定大小。我猜這個XAML會導致佈局引擎無法確定顯示WBC的大小(我還沒有嘗試過)。 –

+0

@PaulAnnetts確實,WebBrowser控件是「特殊」的,它包含一個TileHost,它是用於呈現網頁的本地組件。但是,WebBrowser本身仍然遵循Silverlight佈局規則,因此您可以通過Canvas設置其位置。 – ColinE