2012-01-20 109 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