<WebBrowser>
在我的WPF应用程序中,类似于<WindowsFormsHost>
,因为通常情况下它比Windows.Controls版本更好。然而,我遇到了一个与触摸屏有关的问题。通常情况下,我会在控件上设置
ManipulationBoundaryFeedback
事件处理程序来立即处理该事件,从而防止任何边界反馈,并且我已经尝试使用以下代码进行设置:
MainWindow.xaml
<WindowsFormsHost IsManipulationEnabled="True" ManipulationBoundaryFeedback="WindowsFormsHost_OnManipulationBoundaryFeedback">
<forms:WebBrowser />
</WindowsFormsHost>
MainWindow.xaml.cs
private void WindowsFormsHost_OnManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e)
{
e.Handled = true;
}
通常情况下,在普通的WPF控件中,这是可行的。所谓的“可行”,是指如果您在触摸屏幕上使用手指向上或向下拖动,您不会得到触摸屏幕惯性的效果;也就是说,一旦您达到边界,它不会将整个窗口上下移动。
这里有一张图片来说明发生了什么:
如您所见,如果我在浏览器中向下拖动,它会将整个窗口一起拉动。有什么方法可以防止这种情况发生?
OnManipulationBoundaryFeedback
了吗? - Enfyve