다음 코드는 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");
}
위의 해결 방법은 작동하지만 웹 브라우저 컨트롤에서 내 제스처에 사용할 상황 정보를 얻을 수 없다는 점에 유의하십시오. 또한 웹 브라우저 컨트롤과 상호 작용할 수도 없으며 HTML 뷰어 일뿐입니다. – Darkside
답장을 보내 주셔서 감사합니다! WebBrowser의 IsHitTestVisible 속성을 false로 설정하면 GestureListener가 작동합니다. 그러나 WebBrowser와 상호 작용해야합니다. – fisher