2012-01-20 5 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 픽셀 씩 움직일 수있는 방법은 무엇입니까?

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

당신은 이제 왼쪽/상단 위치를 설정하여 브라우저를 이동할 수 있습니다

+0

WebBrowserControl의지도가 드래그 앤 핀치/스트레치 제스처가 이동하고 확대/축소하는 것을 지원하지 않습니까? 그렇다면 대부분의 사용자가 상단에 추가하는 컨트롤을 두드리는 것보다는 사용하는 것으로 생각됩니다. –

+0

지도가 html과 javascript로되어 있으며 리플렛 프레임 워크에서이 작업을 수행했으며 해당 프레임 워크는 Windows Phone 7을 지원하지 않습니다. 따라서 지금은 유일한 옵션입니다. – user1151471

답변

0

의 총수 Canvas 내에 WebBrowser 제어,이 패널은 X/Y 좌표를 통해 당신이 컨트롤의 위치를 ​​지정할 수 있습니다. 예 :

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

이렇게하면 컨트롤이 이동합니다.

+0

정말 일을 할 수 없어요. "Canvas"가있는 코드는 .xaml 파일과 .cs 파일의 Canvas.Set ..으로 만들어야합니다. 하지만 작동하지 않습니다. – user1151471

+0

WebBrowserControl은 자체 가상화 및 내부 스크롤을 수행하지만 Silverlight의 고정 크기 인 것으로 보인 점에서 특별합니다. 나는이 XAML이 WBC를 표시하는 데 필요한 크기를 알아내는 데 어려움을 겪고있는 레이아웃 엔진으로 이어질 것이라고 추측합니다 (나는 시도하지 않았습니다). –

+0

@PaulAnnetts 사실, WebBrowser 컨트롤은 '특별'이며 웹 페이지 렌더링을위한 기본 구성 요소 인 TileHost를 포함합니다. 그러나 WebBrowser 자체는 여전히 Silverlight 레이아웃 규칙을 준수하므로 캔버스를 통해 위치를 설정합니다. – ColinE