2011-11-14 1 views
0

내 응용 프로그램 페이지에 WebBrowser이 있습니다. Flick 이벤트를 처리하기 위해 GestureListener을 추가하고 싶습니다. 그러나 Flick on WebBrowser 지역에서는 작동하지 않습니다. 나는 그것을 작동하게하는 많은 방법을 시도했지만 실패했다. 나는 또한 조작 대신에 효과를 사용하려고 시도했다.WebBrowser가 포함 된 페이지에서 Manipulation 또는 GestureListener를 어떻게 작동시킬 수 있습니까?

누군가가 내게 어떻게 할 것인지 또는 대신에 다른 해결책이 있는지를 말해 줄 수 있습니까?

답변

1

다음 코드는 WebBrowser 컨트롤의 Flick 또는 Hold 이벤트에 대한 작업 솔루션입니다. 같은 것을 시도해보십시오. 도움이 될 것입니다.

xmlns:toolkit="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone.Controls.Toolkit"phone:PhoneApplicationPage 태그에 있다고 가정합니다.

<Grid x:Name="ContentPanel" Grid.Row="1" Margin="12,0" Grid.RowSpan="2"> 
      <phone:WebBrowser x:Name="myWebBrowser" Visibility="Visible" IsScriptEnabled="True" IsHitTestVisible="True" Margin="-12,6,0,6" /> 
      <toolkit:GestureService.GestureListener> 
       <toolkit:GestureListener Flick="GestureListener_Flick" Hold="GestureListener_Hold"></toolkit:GestureListener> 
      </toolkit:GestureService.GestureListener> 
     </Grid> 

그리고 xaml.cs에는 다음과 같은 기능이 있습니다.

private void GestureListener_Flick(object sender, FlickGestureEventArgs e) 
     { 
      MessageBox.Show("Flick"); 
     } 

     private void GestureListener_Hold(object sender, Microsoft.Phone.Controls.GestureEventArgs e) 
     { 
      MessageBox.Show("Hold"); 
     } 
+2

위의 해결 방법은 작동하지만 웹 브라우저 컨트롤에서 내 제스처에 사용할 상황 정보를 얻을 수 없다는 점에 유의하십시오. 또한 웹 브라우저 컨트롤과 상호 작용할 수도 없으며 HTML 뷰어 일뿐입니다. – Darkside

+0

답장을 보내 주셔서 감사합니다! WebBrowser의 IsHitTestVisible 속성을 false로 설정하면 GestureListener가 작동합니다. 그러나 WebBrowser와 상호 작용해야합니다. – fisher