平板电脑WPF Windows桌面应用程序 - 滚动问题

时间:2013-04-20 23:40:52

标签: c# wpf windows-8 scrollview scrollviewer

我在平板电脑华硕ME400 Intel Atom Z2760上运行我的桌面应用程序WPF。所有工作都正常,但是当我使用scrollviewer时,用手指在滚动结束时用手指滚动移动(简化平移模式horizo​​ntalOnly),窗口移动,你会看到任务栏片刻。如果我用手指滚动,直到在滚动条中建立后才会看到效果。

我怎样才能避免这个窗口移动?当我在滚动条的末尾滚动时,如何锁定窗口并且不允许移动?

1 个答案:

答案 0 :(得分:7)

ScrollViewer对象中,您已启用平移功能,请为ManipulationBoundaryFeedback注册一个新事件。

<ScrollViewer PanningMode="Both" ManipulationBoundaryFeedback="ScrollViewer_ManipulationBoundaryFeedback">
    <!-- your content is here... -->
</ScrollViewer>

在代码隐藏中,您必须通过将Handled属性设置为true来处理该事件:

void ScrollViewer_ManipulationBoundaryFeedback(object sender, ManipulationBoundaryFeedbackEventArgs e)
{
    e.Handled = true;
}

(通过将Handled属性设置为true,我们实际上是在说明事件已由我们处理,因此我们正在停止消息的冒泡过程视觉树,在它到达Window / Application之前 - 无论哪个会导致震动。)